set_time_limit(0);
ini_set("memory_limit", "1024M");
require_once '_config.error_whoops.php';
DEFINE('CFG_ADODB_TYPE', 'postgres7');
DEFINE('CFG_ADODB_PORT', '5433');
DEFINE('CFG_ADODB_NAME', 'muzea');
DEFINE('CFG_ADODB_USER', 'muzea');
DEFINE('CFG_ADODB_PASS', 'muzEA2023');
DEFINE('CFG_ADODB_HOST', 'localhost');
DEFINE('CFG_TYP', 'administrator');
DEFINE('CFG_STRONA', 'm-www.nl.pl');
DEFINE('CFG_SESSION_NAME', 'muzea_sess');
DEFINE('CFG_STRONA_HTTPS', 'https://www.turturi.com');
DEFINE('CFG_DROPZONE_INFO', 'Dodaj zdjęcia.
Dopuszczalne formaty: JPEG, JPG, PNG, WEBP.
Minimalna szerokość: 800 px.
(kliknij lub przeciągnij i upuść)
Zdjęcia w serwisie wyświetlą się w kolejności ustawionej w panelu ("metodą przeciągnij i upuść").
Pierwsze ze zdjęć będzie przewodnie na stronie i rozpocznie automatycznie utworzoną galerię.
Kolejność zdjęć można zmienić po ich zapisaniu.');
DEFINE('CFG_DROPZONE_INFO_NOC', 'Dodaj zdjęcia.
Dopuszczalne formaty: JPEG, JPG, PNG, WEBP.
Minimalna szerokość: 800 px.
(kliknij lub przeciągnij i upuść)
Kolejność zdjęć ustawia się ("metodą przeciągnij i upuść").');
DEFINE('CFG_DROPZONE_INFO7', 'Dodaj zdjęcia.
Dopuszczalne formaty: JPEG, JPG, PNG, WEBP.
Rozmiar zdjęcia: 1920px x 1000px.
(kliknij lub przeciągnij i upuść)
Zdjęcia w serwisie wyświetlą się w kolejności ustawionej w panelu ("metodą przeciągnij i upuść").
Pierwsze ze zdjęć będzie przewodnie na stronie i rozpocznie automatycznie utworzoną galerię.
Kolejność zdjęć można zmienić po ich zapisaniu.');
DEFINE('CFG_DROPZONE_INFO_PLIKI', 'Dodaj pliki PDF.
Dopuszczalne formaty: PDF.
(kliknij lub przeciągnij i upuść)
');
DEFINE('CFG_PANEL_TITLE', 'TURTURI.com - Panel Administracyjny');
DEFINE('CFG_PANEL_FOOTER', 'TURTURI.com - Panel Administracyjny © 2023 | Powered by Web & Art sp. z o.o.');
function p($lista) {
if ($_SERVER['REMOTE_ADDR'] == '109.173.145.238') {
print_r($lista);
}
}
?>
$config['import']['muzea']['arkusz'] = 'Arkusz1';
$config['import']['pola']['arkusz'] = 'Arkusz1';
$config['import']['slowniki']['arkusz'] = 'Arkusz1';
$config['import']['produkty']['arkusz'] = 'Arkusz1';
$config['import']['muzea']['wiersz'] = 2;
$config['import']['pola']['wiersz'] = 2;
$config['import']['slowniki']['wiersz'] = 2;
$config['import']['produkty']['wiersz'] = 2;
$config['import']['muzea']['kolumny'] = array(
array('A', 'ID', 'id'),
array('B', 'Pokaż', 'pokaz_txt'),
array('C', 'Czynne', 'czynne_txt'),
array('D', 'Obiekt', 'obiekt'),
array('E', 'P', 'priorytet'),
array('F', 'Nazwa', 'nazwa'),
array('G', 'Przynaleznosc', 'przynaleznosc'),
array('H', 'Właściciel', 'wlasciciel'),
array('I', 'Kategoria muzeum', 'kategoria_txt2'),
array('J', 'E-mail', 'kontakt_email'),
array('K', 'WWW', 'link_www'),
array('L', 'FB', 'link_facebook'),
array('M', 'Telefon', 'kontakt_telefon'),
array('N', 'Dyrektor/Kierownik/Kustosz', 'dyrektor_kierownik_kustosz'),
array('O', 'Zdjęcie', 'zdjecie'),
array('P', 'Logo', 'logo'),
array('Q', 'Opis', 'tresc'),
array('R', 'Rezerwacja', 'rezerwacja_txt'),
array('S', 'Telefon1 (rezerwacje indywidualne)', 'rezerwacje_indywidualne_telefon'),
array('T', 'Telefon2 (rezerwacje indywidualne)', 'rezerwacje_indywidualne_telefon2'),
array('U', 'Telefon1 (rezerwacje grupowe)', 'rezerwacje_grupowe_telefon'),
array('V', 'Telefon2 (rezerwacje grupowe)', 'rezerwacje_grupowe_telefon2'),
array('W', 'Sposób płatności (gotówka, karta)', 'sposob_platnosci'),
array('X', 'dostępność dla osób z niepełnosprawnością (tak nie)', 'przystosowanie_dla_osob_z_niepelnosprawnosciami_txt'),
array('Y', 'sklep z pamiątkami (tak nie)', 'sklep_z_pamiatkami_txt'),
array('Z', 'kawiarnia (tak nie)', 'kawiarnia_txt'),
array('AA', 'restauracja (tak nie)', 'restauracja_txt'),
array('AB', 'Kod pocztowy', 'kod'),
array('AC', 'Miejscowość', 'miasto'),
array('AD', 'Gmina', 'gmina'),
array('AE', 'Powiat', 'powiat'),
array('AF', 'Województwo', 'wojewodztwo'),
array('AG', 'Adres', 'adres'),
array('AH', 'Status muzeum', 'wlasnosc'),
array('AI', 'Komentarz', 'komentarz')
);
$config['import']['pola']['kolumny'] = array(
array('A', 'ID', 'id'),
array('B', 'Tabela', 'tabela'),
array('C', 'Pole', 'pole'),
array('D', 'Nazwa PL', 'nazwa_pl'),
array('E', 'Nazwa EN', 'nazwa_en'),
array('F', 'Hint PL', 'hint_pl'),
array('G', 'Hint EN', 'hint_en'),
array('H', 'Hint PL 2', 'hint_pl2'),
array('I', 'Hint EN 2', 'hint_en2'),
array('J', 'Obowiązkowe', 'obowiazkowe'),
array('K', 'Tylko administrator', 'tylko_admin'),
);
$config['import']['slowniki']['kolumny'] = array(
array('A', 'ID', 'id'),
array('B', 'Nazwa systemowa', 'nazwa_systemowa'),
array('C', 'Nazwa pełna PL', 'nazwa_pelna'),
array('D', 'Nazwa pełna EN', 'nazwa_pelna_en'),
array('E', 'Kolejność', 'kolejnosc'),
);
$config['import']['produkty']['kolumny'] = array(
array('A', 'ID', 'id'),
array('B', 'Nazwa', 'nazwa'),
array('C', 'Opis', 'opis'),
array('D', 'Kategoria', 'kategoria'),
array('E', 'Cena regularna', 'cena_regularna'),
array('F', 'Cena promocyjna', 'cena_promocyjna'),
array('G', 'Ilość', 'ilosc'),
array('H', 'Na zamówienie', 'na_zamowienie', 'TAK/NIE'),
);
?>
$config['form'] = array();
$config['form']['uczestnik'] = array(
'imie' => array('Imię','Imię','text'),
'nazwisko' => array('Nazwisko','Nazwisko','text')
);
$config['form_javascript'][102] = array(
'id_dzialania' =>'onclick="pokazModalDzialaniaDokumenty(\'id_dzialania\');"',
'zakresy' => 'onclick="pokazModalZakresy();"',
);
$config['form_javascript'][131] = array(
'id_dzialania' =>'onclick="pokazModalDzialaniaDokumenty(\'id_dzialania\');"',
'zakresy' => 'onclick="pokazModalZakresy();"',
);
$config['form_javascript'][104] = array(
'km_od' =>'onkeypress="return isNumberKey(event);" onblur="checkPattern(this, \'\');checkMonitoringKm(this, \'\');"',
'km_do' =>'onkeypress="return isNumberKey(event);" onblur="checkPattern(this, \'\');checkMonitoringKm(this, \'\');"'
);
$config['form_javascript'][320] = array(
'zakresy' => 'onclick="pokazModalZakresy();"',
);
$config['form_javascript'][401] = array(
'id_dzialania' =>'onclick="pokazModalDzialaniaDokumenty(\'id_dzialania\');"',
'zakresy' => 'onclick="pokazModalZakresy();"',
);
$config['zapisz_javascript'] = array();
$config['zapisz_javascript']['73'] = 'loopSelected2(get(\'id_typ_dokumentu1\'), get(\'id_typ_dokumentu1_s\')); loopSelected2(get(\'id_typ_dokumentu2\'), get(\'id_typ_dokumentu2_s\')); loopSelected2(get(\'id_typ_dokumentu3\'), get(\'id_typ_dokumentu3_s\')); get(\'dform\').submit();';
$config['zapisz_javascript']['80'] = 'loopSelected(get(\'id_parametru\'), get(\'id_parametru_s\')); get(\'dform\').submit();';
$config['zapisz_javascript']['91'] = 'loopSelected2(get(\'id_kategorii_roszczenia\'), get(\'id_kategorii_roszczenia_s\')); loopSelected2(get(\'obiekty_or\'), get(\'obiekty_or_s\')); loopSelected2(get(\'obiekty_fds\'), get(\'obiekty_fds_s\')); loopSelected2(get(\'id_od_kogo\'), get(\'id_od_kogo_s\'));get(\'dform\').submit();';
$config['zapisz_javascript']['102'] = 'loopSelected(get(\'punktowe\'), get(\'punktowe_s\'));loopSelected(get(\'liniowe\'), get(\'liniowe_s\')); get(\'dform\').submit();';
$config['zapisz_javascript']['104'] = 'if (get(\'error\').value == \'0\') { get(\'dform\').submit(); } ';
$config['zapisz_javascript']['105'] = 'setObszary(); get(\'dform\').submit();';
?>
require_once 'lib/Pracownik.class.php';
require_once 'lib/Opiekun.class.php';
require_once 'lib/Uzytkownik.class.php';
require_once 'lib/EdukacjaUzytkownik.class.php';
require_once 'lib/Kategoria.class.php';
require_once 'lib/Edukacja.class.php';
require_once 'lib/Muzeum.class.php';
require_once 'lib/Wystawa.class.php';
require_once 'lib/Strona.class.php';
require_once 'lib/Aktualnosc.class.php';
require_once 'lib/Wydarzenie.class.php';
require_once 'lib/Publikacja.class.php';
require_once 'lib/Festiwal.class.php';
require_once 'lib/Miasto.class.php';
require_once 'lib/MiastoAtrakcja.class.php';
require_once 'lib/Kalendarium.class.php';
require_once 'lib/Tag.class.php';
require_once 'lib/Autor.class.php';
require_once 'lib/Artysta.class.php';
require_once 'lib/Datatables.class.php';
require_once 'lib/Import.class.php';
require_once 'lib/KategoriaObiektu.class.php';
require_once 'lib/KategoriaMiejsca.class.php';
require_once 'lib/Reklama.class.php';
require_once 'lib/SklepDostawa.class.php';
require_once 'lib/SklepKategoria.class.php';
require_once 'lib/SklepKlient.class.php';
require_once 'lib/SklepKoszyk.class.php';
require_once 'lib/SklepPlatnosc.class.php';
require_once 'lib/SklepProdukt.class.php';
require_once 'lib/SklepStatystyka.class.php';
require_once 'lib/SklepStrona.class.php';
require_once 'lib/SklepTop.class.php';
require_once 'lib/SklepZamowienie.class.php';
require_once 'lib/Statystyka.class.php';
require_once 'lib/StatystykaOpiekun.class.php';
require_once 'lib/Sitemap.php';
require_once 'lib/Logger.class.php';
require_once 'lib/HTTPRequest.class.php';
require_once 'lib/functions.php';
require_once 'ssp.class.php';
class App {
//{{{ vars
var $db = null;
var $autoryzacja = null;
var $config = null;
var $element = 'main';
var $linki = array();
var $linki_uri = array();
var $linki_info = array();
var $link_aktywny = false;
var $linki_tlumaczenia = array();
var $slowniki_tlumaczenia = array();
var $slowniki_nazwa = array();
var $slowniki_id = array();
var $wojewodztwa = array();
var $powiaty = array();
var $powiaty_bez_miast = array();
var $kategorie_miejsc = array();
var $kategorie_obiektow = array();
var $pokaz_obiekty = false;
var $pokaz_wystawy = false;
var $pokaz_wydarzenia = false;
var $pokaz_atrakcje = false;
var $wyszukiwanie_lista_obiektow = array();
var $wyszukiwanie_lista_wystaw = array();
var $wyszukiwanie_lista_wydarzen = array();
var $wyszukiwanie_lista_atrakcji = array();
var $wyszukiwanie_liczba = 0;
var $wyszukiwanie_tryb = 11111;
var $wyszukiwanie_lista = false;
var $wyszukiwanie_sekcje = array();
var $wyszukiwanie_order = '2';
var $wyszukiwanie_element = 'wyszukiwanie';
var $wyszukiwanie_odleglosc = '2';
var $wyszukiwanie_tematyka = array();
var $wyszukiwanie_miejsca = array();
var $wyszukiwanie_atuty = array();
var $wyszukiwanie_kategorie = array();
var $wyszukiwanie_kategorie_wszystkie = 1;
var $wyszukiwanie_kategorie_tematy = array();
var $wyszukiwanie_kategorie_miejsca = array();
var $wyszukiwanie_kategorie_kategorie = array();
var $start_wyszukiwanie_kategorie_tematy = array();
var $start_wyszukiwanie_kategorie_miejsca = array();
var $start_wyszukiwanie_kategorie_kategorie = array();
var $kategoria = false;
var $theme = 'theme-light';
var $lang = 1;
var $request = array();
var $sesja = array();
//}}}
//{{{ __construct()
function __construct($db, $autoryzacja, $config = null) {
$this->db = $db;
$this->autoryzacja = $autoryzacja;
$this->config = $config;
$this->setPola();
if (strpos($_SERVER['PATH_INFO'], '/en') !== false || strpos($_SERVER['SCRIPT_NAME'], '/en') !== false) {
$this->lang = 2;
}
else {
$this->lang = 1;
}
}
//}}}
//{{{ setPathInfo()
function setPathInfo() {
$info = explode(',', str_replace($_SERVER['SCRIPT_NAME'], '', substr(str_replace('.html', '', $_SERVER['REQUEST_URI']), 1)));
$request_uri = $_SERVER['REQUEST_URI'];
if ($request_uri == 'index.php' || $request_uri == '/' || $request_uri == '') {
$this->element = 'main';
}
else {
$grupy_miejsc = $this->getKategorieMiejscGrupaWWW();
if ($info[0]) { $this->element = basename($info[0]); }
if ($info[1]) { $this->id = $info[1]; }
if ($info[2]) { $this->reszta = $info[2]; }
if ($info[3]) { $this->id2 = $info[3]; }
if ($info[4]) { $this->reszta2= $info[4]; }
if ($info[5]) { $this->id3= $info[5]; }
if ($info[6]) { $this->reszta3= $info[6]; }
if ($info[7]) { $this->id4= $info[7]; }
if ($info[8]) { $this->reszta4= $info[8]; }
}
$this->request_uri = $_SERVER['REQUEST_URI'];
$this->request = $_REQUEST;
$request_a = array_reverse(explode(',', $_SERVER['REQUEST_URI']));
if (is_numeric($request_a[0])) { unset($request_a[0]); }
$this->url2 = implode(',', array_reverse($request_a));
return true;
}
//}}}
//{{{ setPathInfoWWW()
function setPathInfoWWW() {
$info = explode(',', str_replace($_SERVER['SCRIPT_NAME'], '', substr(str_replace('.html', '', $_SERVER['REQUEST_URI']), 1)));
$request_uri = $_SERVER['REQUEST_URI'];
if ($request_uri == 'index.php' || $request_uri == '/' || $request_uri == '') {
$this->element = 'main';
}
else {
if ($info[0]) { $this->element = basename($info[0]); }
if ($info[1]) { $this->id = $info[1]; }
if ($info[2]) { $this->reszta = $info[2]; }
if ($info[3]) { $this->id2 = $info[3]; }
if ($info[4]) { $this->reszta2= $info[4]; }
if ($info[5] != '') { $this->id3= $info[5]; }
if ($info[6] != '') { $this->reszta3= $info[6]; }
if ($info[7]) { $this->id4= $info[7]; }
$strona = $this->getLinkUri(rawurldecode($this->element));
if ($strona['element'] == 'miasto') {
$this->element = $strona['element'];
$this->id = $strona['id'];
$this->strona_element = $strona['element'];
$this->strona_id = $strona['id'];
$this->strona_nazwa = $strona['nazwa'];
}
elseif ($strona && $strona['id'] < 3000) {
$this->strona_element = 'obiekty';
$this->strona_id = $strona['id'];
$this->strona_nazwa = $strona['nazwa'];
$_SESSION[CFG_SESSION_NAME]['wyszukiwanie_strona'] = $strona;
}
else {
$tlumaczenia = array_flip($this->linki_tlumaczenia);
if (isset($tlumaczenia[$this->element])) {
$this->element = $tlumaczenia[$this->element];
}
}
}
$this->request_uri = $_SERVER['REQUEST_URI'];
$this->script_uri = $_SERVER['SCRIPT_URI'];
$this->request = $_REQUEST;
if ($this->element == 'wyszukiwanie' || $this->element == 'main') {
unset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_strona']);
}
$request_a = array_reverse(explode(',', $_SERVER['REQUEST_URI']));
if (is_numeric($request_a[0])) { unset($request_a[0]); }
$this->url2 = implode(',', array_reverse($request_a));
}
//}}}
//{{{ setPathInfoSklep()
function setPathInfoSklep() {
$info = explode(',', str_replace($_SERVER['SCRIPT_NAME'], '', substr(str_replace('.html', '', $_SERVER['REQUEST_URI']), 1)));
$request_uri = $_SERVER['REQUEST_URI'];
if ($request_uri == 'index.php' || $request_uri == '/' || $request_uri == '') {
$this->element = 'main';
}
else {
if ($info[0]) { $this->element = basename($info[0]); }
if ($info[1]) { $this->id = $info[1]; }
if ($info[2]) { $this->reszta = $info[2]; }
if ($info[3]) { $this->id2 = $info[3]; }
if ($info[4]) { $this->reszta2= $info[4]; }
if ($info[5] != '') { $this->id3= $info[5]; }
if ($info[6] != '') { $this->reszta3= $info[6]; }
if ($info[7]) { $this->id4= $info[7]; }
$strona = $this->getLinkUri(rawurldecode($this->element));
if ($strona) {
$this->strona_element = 'produkty';
$this->strona_id = $strona['id'];
$this->strona_nazwa = $strona['nazwa'];
$_SESSION[CFG_SESSION_NAME]['wyszukiwanie_strona'] = $strona;
$this->kategoria = $strona;
}
}
$this->request_uri = $_SERVER['REQUEST_URI'];
$this->script_uri = $_SERVER['SCRIPT_URI'];
$this->request = $_REQUEST;
if ($this->element == 'wyszukiwanie' || $this->element == 'main') {
unset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_strona']);
}
$request_a = array_reverse(explode(',', $_SERVER['REQUEST_URI']));
if (is_numeric($request_a[0])) { unset($request_a[0]); }
$this->url2 = implode(',', array_reverse($request_a));
}
//}}}
//{{{ isMain()
function isMain() {
$info = explode(',', str_replace($_SERVER['SCRIPT_NAME'], '', substr(str_replace('.html', '', $_SERVER['REQUEST_URI']), 1)));
$request_uri = $_SERVER['REQUEST_URI'];
if ($request_uri == 'index.php' || $request_uri == '/' || $request_uri == '') {
return true;
}
}
//}}}
//{{{ setSesjaPanel()
function setSesjaPanel() {
$this->sesja = $_SESSION[CFG_SESSION_NAME];
}
//}}}
//{{{ setSesja()
function setSesja() {
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_lista'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_lista'] = false; }
$this->wyszukiwanie_lista = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_lista'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_sekcje'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_sekcje'] = false; }
$this->wyszukiwanie_sekcje = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_sekcje'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_tryb'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_tryb'] = 11111; }
$this->wyszukiwanie_tryb = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_tryb'];
$this->pokaz_obiekty = false;
$this->pokaz_wystawy = false;
$this->pokaz_wydarzenia = false;
$this->pokaz_atrakcje = false;
if (substr($this->wyszukiwanie_tryb, 1, 1) == '1') { $this->pokaz_obiekty = true; }
if (substr($this->wyszukiwanie_tryb, 2, 1) == '1') { $this->pokaz_wystawy = true; }
if (substr($this->wyszukiwanie_tryb, 3, 1) == '1') { $this->pokaz_wydarzenia = true; }
if (substr($this->wyszukiwanie_tryb, 4, 1) == '1') { $this->pokaz_atrakcje = true; }
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_order'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_order'] = '2'; }
$this->wyszukiwanie_order = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_order'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_element'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_element'] = 'wyszukiwanie'; }
$this->wyszukiwanie_element = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_element'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_odleglosc'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_odleglosc'] = '2'; }
$this->wyszukiwanie_odleglosc = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_odleglosc'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_id_wojewodztwa'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_id_wojewodztwa'] = ''; }
$this->wyszukiwanie_id_wojewodztwa = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_id_wojewodztwa'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_tematyka'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_tematyka'] = array(); }
$this->wyszukiwanie_tematyka = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_tematyka'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_atuty'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_atuty'] = array(); }
$this->wyszukiwanie_atuty = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_atuty'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_kategorie'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_kategorie'] = array(); }
$this->wyszukiwanie_kategorie = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_kategorie'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_kategorie_wszystkie'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_kategorie_wszystkie'] = '1'; }
$this->wyszukiwanie_kategorie_wszystkie = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_kategorie_wszystkie'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie_miejsca'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_miejsca'] = array(); }
$this->wyszukiwanie_miejsca = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_miejsca'];
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['id_wojewodztwa'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['id_wojewodztwa'] = 0; }
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['miasta'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['miasta'] = array(); }
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['typy_zajec'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['typy_zajec'] = array(); }
if (!isset($_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['kategoria_wiekowa'])) { $_SESSION[CFG_SESSION_NAME]['wyszukiwanie']['kategoria_wiekowa'] = array(); }
if (!isset($_SESSION[CFG_SESSION_NAME]['koszyk'])) { $_SESSION[CFG_SESSION_NAME]['koszyk'] = array(); }
if (!isset($_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_tematy'])) { $_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_tematy'] = array(); }
$this->start_wyszukiwanie_kategorie_tematy = $_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_tematy'];
if (!isset($_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_miejsca'])) { $_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_miejsca'] = array(); }
$this->start_wyszukiwanie_kategorie_miejsca = $_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_miejsca'];
if (!isset($_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_kategorie'])) { $_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_kategorie'] = array(); }
$this->start_wyszukiwanie_kategorie_kategorie = $_SESSION[CFG_SESSION_NAME]['start_wyszukiwanie_kategorie_kategorie'];
$this->sesja = $_SESSION[CFG_SESSION_NAME];
}
//}}}
//{{{ linkPrzelaczJezyk()
function linkPrzelaczJezyk($obiekt, $wystawa = null, $wydarzenie = null) {
if ($this->element == 'obiekt') {
if ($this->lang == 1) {
return 'en/object,'.$obiekt->id.','.prepareLink($obiekt->getNazwaWlasciciel(2)).','.prepareLink($this->getWojewodztwoId($obiekt->rekord_db['id_wojewodztwa'])).','.prepareLink($obiekt->rekord_db['miasto']).'.html';
}
else {
return 'obiekt,'.$obiekt->id.','.prepareLink($obiekt->getNazwaWlasciciel(1)).','.prepareLink($this->getWojewodztwoId($obiekt->rekord_db['id_wojewodztwa'])).','.prepareLink($obiekt->rekord_db['miasto']).'.html';
}
}
elseif ($this->element == 'wystawa') {
if ($this->lang == 1) {
return 'en/exhibition,'.$wystawa->id.','.prepareLink($wystawa->getTytul(2)).','.prepareLink($obiekt->getNazwaWlasciciel(2)).','.prepareLink($this->getWojewodztwoId($obiekt->rekord_db['id_wojewodztwa'])).','.prepareLink($obiekt->rekord_db['miasto']).'.html';
}
else {
return 'wystawa,'.$wystawa->id.','.prepareLink($wystawa->getTytul(1)).','.prepareLink($obiekt->getNazwaWlasciciel(1)).','.prepareLink($this->getWojewodztwoId($obiekt->rekord_db['id_wojewodztwa'])).','.prepareLink($obiekt->rekord_db['miasto']).'.html';
}
}
elseif ($this->element == 'wydarzenie') {
if ($this->lang == 1) {
return 'en/event,'.$wydarzenie->id.','.prepareLink($wydarzenie->getTytul(2)).','.prepareLink($obiekt->getNazwaWlasciciel(2)).','.prepareLink($this->getWojewodztwoId($obiekt->rekord_db['id_wojewodztwa'])).','.prepareLink($obiekt->rekord_db['miasto']).'.html';
}
else {
return 'wydarzenie,'.$wydarzenie->id.','.prepareLink($wydarzenie->getTytul(1)).','.prepareLink($obiekt->getNazwaWlasciciel(1)).','.prepareLink($this->getWojewodztwoId($obiekt->rekord_db['id_wojewodztwa'])).','.prepareLink($obiekt->rekord_db['miasto']).'.html';
}
}
else {
$strona = $this->getLinkUri(rawurldecode($this->element));
if ($strona && $strona['id'] < 3000) {
if ($this->lang == 1) {
return 'en/'.basename(str_replace($strona['link1'], $strona['link2'], $this->request_uri));
}
else {
return str_replace('/en/', '', basename(str_replace($strona['link2'], $strona['link1'], $this->request_uri)));
}
}
else {
if ($this->lang == 1) {
return 'en/'.basename($this->request_uri);
}
else {
return str_replace('/en/', '', basename($this->request_uri));
}
}
}
}
//}}}
//{{{ logger()
function logger($dane) {
$data = date("Y-m-d");
$element = $this->element;
$id = '';
if (isset($this->id) && $this->id) {
$id = $this->id;
}
if (isset($dane['id']) && $dane['id']) {
$id = $dane['id'];
}
$typ_uzytkownika = get_class($this->autoryzacja);
$id_uzytkownika = $this->autoryzacja->id;
$dane_json = json_encode($dane);
$txt .= "DATA: $data\n";
$txt .= "ELEMENT: {$element}\n";
$txt .= "ID: {$id}\n";
$txt .= "TYP_UZYTKOWNIKA: {$typ_uzytkownika}\n";
$txt .= "ID_UZYTKOWNIKA: {$id_uzytkownika}\n";
$txt .= "DANE:\n";
$txt .= "{$dane_json}\n";
$txt .= "-----\n";
$plik = CFG_KATALOG_ERRORLOG.'/logger/'.$element.'_'.date("Y-m-d").'.log';
RecursiveMkdir(dirname($plik));
$fp = fopen($plik, 'a+');
fputs($fp, $txt);
fclose($fp);
return true;
}
//}}}
/* SELECT */
//{{{ getLang()
function getLang($dane = array()) {
$query = "select * from lang where 1=1 ";
if ($dane['pokaz']) {
$query .= " and pokaz = '{$dane['pokaz']}' ";
}
$query .=" order by id";
$result = $this->db->Execute($query);
$lista = $result->GetRows();
return $lista;
}
//}}}
//{{{ getCzasZwiedzania()
function getCzasZwiedzania() {
$lista = array();
for($i=1; $i<=9; $i++) {
$lista[$i] = $i;
}
return $lista;
}
//}}}
//{{{ getGodziny()
function getGodziny() {
$lista = array();
for($i=0; $i<=23; $i++) {
$lista[$i] = str_pad($i, 2, "0", STR_PAD_LEFT);
}
return $lista;
}
//}}}
//{{{ getMinuty()
function getMinuty() {
$lista = array('0' => '00', '5' => '05', '10' => '10', '15' => '15', '20' => '20', '25' => '25', '30' => '30', '35' => '35', '40' => '40', '45' => '45', '50' => '50', '55' => '55');
return $lista;
}
//}}}
//{{{ getObiektyWyszukiwania()
function getObiektyWyszukiwania() {
return array('1001' => 'muzea i galerie', '1003' => 'biblioteki', '1004' => 'domy kultury', '1005' => 'miejsca');
}
//}}}
//{{{ getDni()
function getDni() {
$lista = array();
for($i=1; $i<=31; $i++) {
$lista[$i] = $i;
}
return $lista;
}
//}}}
//{{{ getDzieciBezplatnieLata()
function getDzieciBezplatnieLata() {
$lista = array();
for($i=1; $i<=17; $i++) {
$lista[$i] = $i;
}
return $lista;
}
//}}}
//{{{ getDniTygodnia()
function getDniTygodnia() {
return array('1' => 'Poniedziałek', '2' => 'Wtorek', '3' => 'Środa', '4' => 'Czwartek', '5' => 'Piątek', '6' => 'Sobota', '0' => 'Niedziela');
}
//}}}
//{{{ getDzienTygodnia()
function getDzienTygodnia($dow) {
$lista = $this->getDniTygodnia();
return $lista[$dow];
}
//}}}
//{{{ getDzienTygodniaByDate()
function getDzienTygodniaByDate($data) {
$dzien_tygodnia = '';
$query = "select date_part('dow', '{$data}'::date) as dzien_tygodnia";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
$dzien_tygodnia = $this->getDzienTygodnia($row['dzien_tygodnia']);
}
return $dzien_tygodnia;
}
//}}}
//{{{ getMiesiace()
function getMiesiace() {
$lista = array(
'1' => 'styczeń',
'2' => 'luty',
'3' => 'marzec',
'4' => 'kwiecień',
'5' => 'maj',
'6' => 'czerwiec',
'7' => 'lipiec',
'8' => 'sierpień',
'9' => 'wrzesień',
'10' => 'październik',
'11' => 'listopad',
'12' => 'grudzień'
);
return $lista;
}
//}}}
//{{{ getListaObiektowByMiasto()
function getListaObiektowByMiasto($id_miasta = '', $biblioteki = false, $wszystkie = true) {
$lista = array();
if ($wszystkie) {
$lista_wybranych = array();
$query = "select id_muzeum from miasta_muzea where id_miasta = '{$id_miasta}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista_wybranych[$row['id_muzeum']] = $row['id_muzeum'];
}
}
$lista_wybranych_s = implode(',', $lista_wybranych);
}
if ($id_miasta) {
if ($biblioteki) {
$subquery = " ";
}
else {
if ($lista_wybranych_s) {
$subquery = " and (id_obiektu != '1003' or id in ({$lista_wybranych_s}))";
}
else {
$subquery = " and id_obiektu != '1003'";
}
}
$query = "select * from obiekty_lista_widok where id_powiatu in (select id_powiatu from miasta where id = '{$id_miasta}') {$subquery} order by ocena_int desc, liczba_wystaw desc, nazwa";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = "[{$row['ocena_int']}] {$row['nazwa']}, {$row['miasto']}, wystawy: {$row['liczba_wystaw']}, wydarzenia: {$row['liczba_wydarzen']}";
}
}
}
return $lista;
}
//}}}
/* SKLEP */
//{{{ setLinkiSklep()
function setLinkiSklep() {
$query = "select * from sklep_kategorie where pokaz = 't' and idp is null";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$linki[$row['id']] = prepareLink($row['nazwa']);
$linki_uri[prepareLink($row['nazwa'])] = array('element' => 'produkty', 'id' => $row['id'], 'link' => prepareLink($row['nazwa']), 'nazwa' => $row['nazwa']);
$linki_info[$row['id']] = array('element' => 'produkty', 'id' => $row['id'], 'link' => prepareLink($row['link']), 'nazwa' => $row['nazwa']);
}
}
$this->linki = $linki;
$this->linki_uri = $linki_uri;
$this->linki_info = $linki_info;
return true;
}
//}}}
//{{{ getTopSklepWWW()
function getTopSklepWWW() {
$query = "select id from sklep_topy where pokaz = 't' order by random()";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$top = SklepTop::pobierz($this->db, $row['id']);
if (is_object($top)) {
return $top;
}
}
}
return false;
}
//}}}
//{{{ getKategorieGlownaSklep()
function getKategorieGlownaSklep() {
$lista = array();
$query = "select id from sklep_kategorie where pokaz = 't' and idp is null order by id";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategoria = SklepKategoria::pobierz($this->db, $row['id']);
if (is_object($kategoria)) {
$lista[] = $kategoria;
}
}
}
return $lista;
}
//}}}
//{{{ getPodkategorieSklep()
function getPodkategorieSklep() {
$lista = array();
if ($this->strona_id) {
$query = "select id from sklep_kategorie where pokaz = 't' and idp = '{$this->strona_id}' order by nazwa";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategoria = SklepKategoria::pobierz($this->db, $row['id']);
if (is_object($kategoria)) {
$lista[] = $kategoria;
}
}
}
}
return $lista;
}
//}}}
//{{{ getProduktyGlownaSklep()
function getProduktyGlownaSklep($id_kategorii) {
$lista = array();
$query = "select id from sklep_produkty where pokaz = 't' ";
if ($id_kategorii) {
$query .= " and id_kategorii = '{$id_kategorii}' or id_kategorii in (select id from sklep_kategorie where idp = '{$id_kategorii}')";
}
$query .= "order by random() limit 6";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$produkt = SklepProdukt::pobierz($this->db, $row['id']);
if (is_object($produkt)) {
$lista[] = $produkt;
}
}
}
return $lista;
}
//}}}
//{{{ getProduktySklepWWW()
function getProduktySklepWWW($count = false) {
$pole = "id";
if ($count) {
$pole = "count(*) as liczba";
}
$lista = array();
$query = "select {$pole} from sklep_produkty where pokaz = 't' ";
if ($this->strona_id) {
$query .= " and (id_kategorii = '{$this->strona_id}' or id_kategorii in (select id from sklep_kategorie where idp = '{$this->strona_id}'))";
}
$offset = 0;
$limit = 10;
$order_by = "id desc";
$strona = 1;
if ($this->id) {
$strona = $this->id;
}
if ($count) {
$liczba = 0;
$result = $this->db->Execute($query);
$this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$liczba = $row['liczba'];
}
}
$link = $this->element.',(:num).html#i';
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, $link);
$paginator->setMaxPagesToShow(7);
return $paginator;
}
$query .= "order by {$order_by} offset {$offset} limit {$limit}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$produkt = SklepProdukt::pobierz($this->db, $row['id']);
if (is_object($produkt)) {
$lista[] = $produkt;
}
}
}
return $lista;
}
//}}}
//{{{ getProduktSklepWWW()
function getProduktSklepWWW($id_produktu) {
$produkt = SklepProdukt::pobierz($this->db, $id_produktu);
return $produkt;
}
//}}}
//{{{ getStronyStopkaSklep()
function getStronyStopkaSklep() {
$lista = array();
$query = "select id, tytul from sklep_strony where pokaz = 't' and stopka = 't' order by kolejnosc";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[] = $row;
}
}
return $lista;
}
//}}}
//{{{ getStronaSklepWWW()
function getStronaSklepWWW($id_strony) {
$strona = SklepStrona::pobierz($this->db, $id_strony);
return $strona;
}
//}}}
//{{{ getDostawySklepWWW()
function getDostawySklepWWW() {
$lista = array();
$query = "select * from sklep_dostawy where pokaz = 't' order by kolejnosc";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$dostawa = SklepDostawa::pobierz($this->db, $row['id']);
if (is_object($dostawa)) {
$lista[] = $dostawa;
}
}
}
return $lista;
}
//}}}
//{{{ getPlatnosciSklepWWW()
function getPlatnosciSklepWWW() {
$lista = array();
$query = "select * from sklep_platnosci where pokaz = 't' and id = 1 order by kolejnosc";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$platnosc = SklepPlatnosc::pobierz($this->db, $row['id']);
if (is_object($platnosc)) {
$lista[] = $platnosc;
}
}
}
return $lista;
}
//}}}
//{{{ getZamowieniaKlientaSklepWWW()
function getZamowieniaKlientaSklepWWW() {
$id_klienta = $this->autoryzacja->id;
$email = $this->autoryzacja->rekord_db['email'];
$query = "select * from sklep_zamowienia_lista_widok where (id_klienta = '{$id_klienta}' or email ilike '{$email}')";
$result = $this->db->Execute($query);
return $result->GetRows();
}
//}}}
//{{{ getTpayBanki()
function getTpayBanki() {
$query = "select * from tpay_banki order by name";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row;
}
}
return $lista;
}
//}}}
//{{{ przypiszKoszykKlienta()
function przypiszKoszykKlienta($id_klienta) {
$session_id = session_id();
$query = "update sklep_koszyk set id_klienta = '{$id_klienta}' where session_id = '{$session_id}'";
$this->db->Execute($query);
return true;
}
//}}}
/* WWW */
//{{{ getTopWWW()
function getTopWWW() {
$pliki = listDirectory('top');
$i = rand(0, count($pliki)-1);
$plik = $pliki[$i];
return 'top/'.basename($plik);
}
//}}}
//{{{ getObiektWWW()
function getObiektWWW($id = null) {
if (!$id) {
$id = $this->id;
}
return Muzeum::pobierz($this->db, $id);
}
//}}}
//{{{ getObiektyWWW()
function getObiektyWWW($element, $count = false) {
$pole = 'id';
$strona = 1;
if ($this->id) {
$strona = $this->id;
}
$subquery = 'and id in (select id_muzeum from muzea_pliki)';
$offset = 0;
$limit = 12;
$order_by = "random()";
if ($element == 'glowna_obiekty') {
$limit = 12;
$order_by = "ocena_int desc, random()";
$subquery .= " and czynne = 't' ";
}
elseif ($element == 'obiekty') {
$subquery = '';
$limit = 12;
$offset = (($strona)-1)*$limit;
$order_by = " priorytet, ocena_int desc";
}
$query = "select {$pole} from muzea where pokaz = 't' {$subquery} ";
if (isset($this->strona_id) || isset($this->request['strona_id'])) {
if ($this->strona_id == '2001' || $this->request['strona_id'] == '2001') {
$query .= " and id_obiektu in (1001, 1002) ";
}
elseif ($this->strona_id == '2002' || $this->request['strona_id'] == '2002') {
$query .= " and id in (select id_muzeum from muzea_kategorie_miejsc where id_kategorii_miejsca in (select id from kategorie_miejsc where id = '101' or idp = '101'))";
}
elseif ($this->strona_id == '2003' || $this->request['strona_id'] == '2003') {
$query .= " and id in (select id_muzeum from muzea_kategorie_miejsc where id_kategorii_miejsca in (select id from kategorie_miejsc where id = '105' or idp = '105'))";
}
elseif ($this->strona_id == '2004' || $this->request['strona_id'] == '2004') {
$query .= " and id in (select id_muzeum from muzea_kategorie_miejsc where id_kategorii_miejsca in (select id from kategorie_miejsc where id = '113' or idp = '113'))";
}
elseif ($this->strona_id == '2005' || $this->request['strona_id'] == '2005') {
$query .= " and id_obiektu in (1003, 1004) ";
}
}
if ($element == 'obiekty') {
if (count($this->wyszukiwanie_miejsca) > 0) {
$miejsca_s = implode(',', $this->wyszukiwanie_miejsca);
$query .= " and id in (select id_muzeum from muzea_kategorie_miejsc where id_kategorii_miejsca in ({$miejsca_s}))";
}
}
if ($count) {
$liczba = 0;
$result = $this->db->Execute($query);
$wyszukiwanie_lista_obiektow = array();
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wyszukiwanie_lista_obiektow[$row['id']] = $row['id'];
}
$liczba = $result->RecordCount();
$this->wyszukiwanie_lista_obiektow = $wyszukiwanie_lista_obiektow;
}
if (basename($_SERVER['SCRIPT_NAME']) == 'ustawienia.php') {
$link = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_obiekty_pager'];
}
else {
$link = $this->element.',(:num).html#i';
$_SESSION[CFG_SESSION_NAME]['wyszukiwanie_obiekty_pager'] = $link;
}
//$link = $this->element.',(:num).html#i';
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, $link);
$paginator->setMaxPagesToShow(7);
return $paginator;
}
$query .= "order by {$order_by} offset {$offset} limit {$limit}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$muzeum_ob = Muzeum::pobierzLite($this->db, $row['id']);
if (is_object($muzeum_ob)) {
$lista[] = $muzeum_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getWydarzenieWWW()
function getWydarzenieWWW($id = null) {
if (!$id) {
$id = $this->id;
}
return Wydarzenie::pobierz($this->db, $id);
}
//}}}
//{{{ getWystawaWWW()
function getWystawaWWW($id = null) {
if (!$id) {
$id = $this->id;
}
return Wystawa::pobierz($this->db, $id);
}
//}}}
//{{{ getWystawyWydarzeniaWWW()
function getWystawyWydarzeniaWWW() {
$query = "(select id, 'wystawa' as typ, data_od as data from wystawy where pokaz = 't' and pokaz_jako_atrakcje = 'f' and (id in (select id_wystawy from wystawy_pliki) or id_muzeum in (select id_muzeum from muzea_pliki)) and data_od is not null and now()::date-data_od < 0 )
UNION
(select id, 'wydarzenia' as typ, data_wydarzenia_od as data from wydarzenia where pokaz = 't' and id_wystawy is not null and (id in (select id_wystawy from wystawy_pliki) or id_wystawy in (select id_muzeum from muzea_pliki)) and now()::date-data_wydarzenia_od::date < 0)
order by data";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wystawa_ob = Wystawa::pobierz($this->db, $row['id']);
if (is_object($wystawa_ob)) {
$lista[] = $wystawa_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getWydarzeniaWWW()
function getWydarzeniaWWW($el, $count = false) {
$pole = 'id';
if ($el == 'glowna_atrakcje') {
$query = "(select {$pole}, 'wydarzenie' as typ, random() as rand from wydarzenia where pokaz = 't' and (id in (select id_wydarzenia from wydarzenia_pliki) or id_muzeum in (select id_muzeum from muzea_pliki)) and id_cennik_atrakcji is not null)
UNION
(select {$pole}, 'wystawa' as typ, random() as rand from wystawy where pokaz = 't' and pokaz_jako_atrakcje = 't' and ( ((id_typu_wystawy = 10) or (id_typu_wystawy = 11 and data_od <= now()::date and data_do >=now()::date)) ))";
}
else if ($el == 'glowna_wydarzenia') {
$query = "(select {$pole}, 'wydarzenie' as typ, random() as rand from wydarzenia where pokaz = 't' and (id in (select id_wydarzenia from wydarzenia_pliki) or id_muzeum in (select id_muzeum from muzea_pliki)) and id_cennik_atrakcji is null
and case when (data_wydarzenia_do is not null and data_wydarzenia_do < now()::date) then false
when (data_wydarzenia_do is null and data_wydarzenia_od is not null and data_wydarzenia_od < now()::date) then false
else true end ) ";
}
else {
$query = "(select {$pole}, 'wydarzenie' as typ, random() as rand from wydarzenia where pokaz = 't' and (id in (select id_wydarzenia from wydarzenia_pliki) or id_muzeum in (select id_muzeum from muzea_pliki)) and id_cennik_atrakcji is null) and case when (data_wydarzenia_do is not null and data_wydarzenia_do < now()::date) then false else true end )";
}
$strona = 1;
if ($this->id) {
$strona = $this->id;
}
$offset = 0;
$limit = 12;
$order_by = "random()";
if ($count) {
$liczba = 0;
$result = $this->db->Execute($query);
$wyszukiwanie_lista = array();
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$liczba++;
}
}
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, 'atrakcje,(:num).html#i');
$paginator->setMaxPagesToShow(7);
return $paginator;
}
if ($el == 'glowna_atrakcje') {
$offset = 0;
$limit = 6;
$order_by = "rand";
}
elseif ($el == 'glowna_wydarzenia') {
$offset = 0;
$limit = 12;
$order_by = "rand";
}
$offset = (($strona)-1)*$limit;
$query .= "order by {$order_by} offset {$offset} limit {$limit}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
if ($row['typ'] == 'wystawa') {
$wydarzenie_ob = Wystawa::pobierz($this->db, $row['id']);
}
else {
$wydarzenie_ob = Wydarzenie::pobierz($this->db, $row['id']);
}
if (is_object($wydarzenie_ob)) {
$lista[] = $wydarzenie_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getEdukacjaWWW()
function getEdukacjaWWW($id = null) {
if (!$id) {
$id = $this->id;
}
return Edukacja::pobierz($this->db, $id);
}
//}}}
//{{{ getPublikacjaWWW()
function getPublikacjaWWW() {
if (!$id) {
$id = $this->id;
}
return Publikacja::pobierz($this->db, $id);
}
//}}}
//{{{ getFestiwalWWW()
function getFestiwalWWW() {
if (!$id) {
$id = $this->id;
}
return Festiwal::pobierz($this->db, $id);
}
//}}}
//{{{ getWystawyWWW()
function getWystawyWWW($element, $count = false) {
$pole = 'id';
$query = "select {$pole} from wystawy where pokaz = 't' and pokaz_jako_atrakcje = 'f' and (id in (select id_wystawy from wystawy_pliki) or id_muzeum in (select id_muzeum from muzea_pliki)) ";
if ($element == 'glowna_nie_przegap') {
$query .= " and data_do is not null and data_do-now()::date > 1 ";
}
if ($element == 'glowna_zapowiedzi') {
$query .= " and data_od is not null and now()::date-data_od < 0 ";
}
if ($element == 'zwiedzaj_za_darmo') {
$query .= " and id in (select id from wystawy_darmowe_widok where darmowe = 't') and ( ((id_typu_wystawy = 10) or (id_typu_wystawy = 11 and data_od <= now()::date and data_do >=now()::date)) )";
}
if ($element == 'glowna_wystawy') {
$query .= " and id_muzeum in (select id from muzea where pokaz = 't' and czynne = 't') and ( ((id_typu_wystawy = 10) or (id_typu_wystawy = 11 and data_od <= now()::date and data_do >=now()::date)) ) ";
}
$strona = 1;
if ($this->id) {
$strona = $this->id;
}
$offset = 0;
$limit = 12;
$order_by = "random()";
if ($element == 'glowna_wystawy') { $limit = 12; $order_by = "random()"; }
elseif ($element == 'glowna_nie_przegap') { $limit = 6; $order_by = "data_do-now()::date"; }
elseif ($element == 'glowna_zapowiedzi') { $limit = 6; $order_by = "data_od-now()::date"; }
if ($count) {
$liczba = 0;
$result = $this->db->Execute($query);
$wyszukiwanie_lista = array();
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wyszukiwanie_lista[$row['id']] = $row['id'];
}
$liczba = $result->RecordCount();
$this->wyszukiwanie_lista = $wyszukiwanie_lista;
}
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, $this->element.',(:num).html#i');
$paginator->setMaxPagesToShow(7);
return $paginator;
}
$query .= "order by {$order_by} offset {$offset} limit {$limit}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wystawa_ob = Wystawa::pobierzLite($this->db, $row['id']);
if (is_object($wystawa_ob)) {
$lista[] = $wystawa_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getMiastoWWW()
function getMiastoWWW() {
if (!$id) {
$id = $this->id;
}
return Miasto::pobierz($this->db, $id);
}
//}}}
//{{{ getReklamyWWW()
function getReklamyWWW($limit) {
$lista = array();
$query = "select id from reklamy where pokaz = 't' and data_od <= now()::date and data_do >= now()::date and id in (select id_reklamy from reklamy_pliki) order by random() limit {$limit}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$reklama = Reklama::pobierz($this->db, $row['id']);
if (is_object($reklama)) {
$lista[] = $reklama;
}
}
}
return $lista;
}
//}}}
//{{{ getAktualnoscWWW()
function getAktualnoscWWW($id = null) {
if (!$id) {
$id = $this->id;
}
return Aktualnosc::pobierz($this->db, $id);
}
//}}}
//{{{ getAktualnosciWWW()
function getAktualnosciWWW($count = false) {
$pole = 'id';
if ($count) {
$pole = " count(*) as liczba ";
}
$query = "select * from aktualnosci where pokaz = 't' ";
if ($count) {
$liczba = 0;
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
$liczba = $row['liczba'];
}
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, $this->element.','.$this->id.',(:num).html#i');
$paginator->setMaxPagesToShow(7);
return $paginator;
}
$query .= "order by wyroznione desc, data_pokaz desc, id limit 7";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$aktualnosc_ob = Aktualnosc::pobierz($this->db, $row['id']);
if (is_object($aktualnosc_ob)) {
$lista[] = $aktualnosc_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getAktualnosciListaWWW()
function getAktualnosciListaWWW($count = false) {
$pole = 'id';
if ($count) {
$pole = " count(*) as liczba ";
}
$query = "select {$pole} from aktualnosci where pokaz = 't' ";
$strona = 1;
if ($this->id) { $strona = $this->id; }
$limit = 12;
if ($count) {
$liczba = 0;
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
$liczba = $row['liczba'];
}
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, $this->element.',(:num).html#i');
$paginator->setMaxPagesToShow(7);
return $paginator;
}
$query .= "order by data_pokaz desc, id limit {$limit}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$aktualnosc_ob = Aktualnosc::pobierz($this->db, $row['id']);
if (is_object($aktualnosc_ob)) {
$lista[] = $aktualnosc_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getWyszukiwanieEdukacjaWWW()
function getWyszukiwanieEdukacjaWWW($count = false) {
$pole = 'e.id';
$query = "select {$pole} from edukacja e, muzea m where e.id_muzeum = m.id and e.pokaz = 't'";
if ($this->element == 'koszyk') {
if (count($this->sesja['koszyk']) > 0) {
$koszyk_s = implode(',', $this->sesja['koszyk']);
$query .= " and e.id in ({$koszyk_s})";
}
}
else {
if ($this->sesja['wyszukiwanie']['id_wojewodztwa']) {
$query .= " and m.id_wojewodztwa = '{$this->sesja['wyszukiwanie']['id_wojewodztwa']}' ";
}
if (isset($this->sesja['wyszukiwanie']['miasta']) && count($this->sesja['wyszukiwanie']['miasta']) > 0) {
$miasta_s = implode("','", $this->sesja['wyszukiwanie']['miasta']);
$query .= " and m.miasto in ('{$miasta_s}') ";
}
if (isset($this->sesja['wyszukiwanie']['typy_zajec']) && count($this->sesja['wyszukiwanie']['typy_zajec']) > 0) {
$typy_zajec_s = implode(",", $this->sesja['wyszukiwanie']['typy_zajec']);
$query .= " and e.id_kategoria_edukacji in ({$typy_zajec_s}) ";
}
if (isset($this->sesja['wyszukiwanie']['kategoria_wiekowa']) && count($this->sesja['wyszukiwanie']['kategoria_wiekowa']) > 0) {
$kategoria_wiekowa_s = implode(",", $this->sesja['wyszukiwanie']['kategoria_wiekowa']);
$query .= " and e.id in (select id_edukacji from edukacja_odbiorcy where id_odbiorcy in ({$kategoria_wiekowa_s}) )";
}
}
$strona = 1;
if ($this->id) {
$strona = $this->id;
}
$offset = 0;
$limit = 12;
$order_by = "e.id desc";
if ($count) {
$liczba = 0;
$result = $this->db->Execute($query);
$wyszukiwanie_lista = array();
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wyszukiwanie_lista[$row['id']] = $row['id'];
}
$liczba = $result->RecordCount();
$this->wyszukiwanie_lista = $wyszukiwanie_lista;
}
$link = $this->element.',(:num),'.$this->reszta.','.$this->id2.'.html#i';
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, $link);
$paginator->setMaxPagesToShow(7);
return $paginator;
}
$query .= "order by {$order_by} offset {$offset} limit {$limit}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$edukacja_ob = Edukacja::pobierz($this->db, $row['id']);
if (is_object($edukacja_ob)) {
$lista[] = $edukacja_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getWyszukiwanieWWW()
function getWyszukiwanieWWW($count = false) {
$subquery_co = '';
$subquery_co_rank = '0 as rank';
$subquery_co_order = 0;
$subquery_co_from = '';
if (isset($this->sesja['wyszukiwanie']['co']) && $this->sesja['wyszukiwanie']['co']) {
$co = explode(' ', $this->sesja['wyszukiwanie']['co']);
$co_s = implode('&', $co);
$subquery_co = " and query @@ to_tsvector('english', coalesce(nazwa,'') ||' '|| coalesce(nazwa_wlasciciel,'') ||' '|| coalesce(wystawy_tytul,'') ||' '|| coalesce(wydarzenie_tytul,'') ||' '|| coalesce(tematy,'') ||' '|| coalesce(miejsca,'') ||' '|| coalesce(wystawy_tematy,'') ||' '|| coalesce(wydarzenia_kategorie,'') ||' '|| coalesce(wystawy_tresc, '') ||' '|| coalesce(wydarzenie_tresc, '') ||' '|| coalesce(tresc, '')) ";
$subquery_co_rank = "ts_rank_cd(setweight(to_tsvector(coalesce(nazwa,'')), 'A')||setweight(to_tsvector(coalesce(nazwa_wlasciciel,'')), 'A')||setweight(to_tsvector(coalesce(wystawy_tytul,'')), 'A')||setweight(to_tsvector(coalesce(wydarzenie_tytul,'')), 'A')||
setweight(to_tsvector(coalesce(tematy,'')), 'B')||setweight(to_tsvector(coalesce(miejsca,'')), 'B')||setweight(to_tsvector(coalesce(wystawy_tematy,'')), 'B')||setweight(to_tsvector(coalesce(wydarzenia_kategorie,'')), 'B')||setweight(to_tsvector(coalesce(wystawy_tresc,'')), 'C')||setweight(to_tsvector(coalesce(wydarzenie_tresc,'')), 'C')||
setweight(to_tsvector(coalesce(tresc,'')), 'D'), query) AS rank ";
$subquery_co_order = "ts_rank_cd(setweight(to_tsvector(coalesce(nazwa,'')), 'A')||setweight(to_tsvector(coalesce(nazwa_wlasciciel,'')), 'A')||setweight(to_tsvector(coalesce(wystawy_tytul,'')), 'A')||setweight(to_tsvector(coalesce(wydarzenie_tytul,'')), 'A')||
setweight(to_tsvector(coalesce(tematy,'')), 'B')||setweight(to_tsvector(coalesce(miejsca,'')), 'B')||setweight(to_tsvector(coalesce(wystawy_tematy,'')), 'B')||setweight(to_tsvector(coalesce(wydarzenia_kategorie,'')), 'B')||setweight(to_tsvector(coalesce(wystawy_tresc,'')), 'C')||setweight(to_tsvector(coalesce(wydarzenie_tresc,'')), 'C')||
setweight(to_tsvector(coalesce(tresc,'')), 'D'), query) ";
$subquery_co_from = ", to_tsquery('{$co_s}:*') query ";
}
$subquery_miasto = '';
if (isset($this->sesja['wyszukiwanie']['miasto']) && $this->sesja['wyszukiwanie']['miasto']) {
$miasto = $this->sesja['wyszukiwanie']['miasto'];
$subquery_miasto = " and miasto ilike '{$miasto}' ";
}
$subquery_wojewodztwo = '';
if (isset($this->sesja['wyszukiwanie']['id_wojewodztwa']) && $this->sesja['wyszukiwanie']['id_wojewodztwa']) {
$id_wojewodztwa = $this->sesja['wyszukiwanie']['id_wojewodztwa'];
$subquery_wojewodztwo = " and id_wojewodztwa = '{$id_wojewodztwa}' ";
}
$subquery_powiat = '';
if (isset($this->sesja['wyszukiwanie']['id_powiatu']) && $this->sesja['wyszukiwanie']['id_powiatu']) {
$id_powiatu = $this->sesja['wyszukiwanie']['id_powiatu'];
$subquery_wojewodztwo = " and id_powiatu = '{$id_powiatu}' ";
}
/* WOJ
elseif (isset($this->wyszukiwanie_id_wojewodztwa) && is_numeric($this->wyszukiwanie_id_wojewodztwa)) {
$id_wojewodztwa = $this->wyszukiwanie_id_wojewodztwa;
$subquery_wojewodztwo = " and id_wojewodztwa = '{$id_wojewodztwa}' ";
}
*/
$subquery_kiedy = "";
if (isset($this->sesja['wyszukiwanie']['od']) && $this->sesja['wyszukiwanie']['od']) {
$od = $this->sesja['wyszukiwanie']['od'];
$do = $this->sesja['wyszukiwanie']['do'];
$subquery_kiedy = " and
id_muzeum in (select id_muzeum from muzea_dni_tygodnia_sezony_widok sw where 1=1 and
case when (sw.data_od < sw.data_do)
then (sw.data_od <= to_char('{$do}'::timestamp, 'MM-DD') and sw.data_do >= to_char('{$od}'::timestamp, 'MM-DD'))
when (sw.data_od > sw.data_do)
then true
else true end)
and
case when (id_wystawy is not null) then ((id_typu_wystawy = 540) or (id_typu_wystawy = 10) or (id_typu_wystawy = 11 and data_od <= '{$do}' and data_do >= '{$od}'))
when (id_wydarzenia is not null) then (wydarzenie_data_od >= '{$od}' or wydarzenie_data_do >= '{$od}')
else true
end";
}
else {
/*
$od = date("Y-m-d");
$do = date("Y-m-d");
$subquery_kiedy = " and case when (id_wystawy is not null) then ((id_typu_wystawy = 540) or (id_typu_wystawy = 10) or (id_typu_wystawy = 11 and wystawa_data_od <= '{$do}' and wystawa_data_do >= '{$od}'))
when (id_wydarzenia is not null) then (wydarzenie_data_od >= '{$od}' or wydarzenie_data_do >= '{$od}')
else true end";
*/
}
$subquery_za_darmo = '';
if (isset($this->sesja['wyszukiwanie']['za_darmo']) && $this->sesja['wyszukiwanie']['za_darmo'] == 1) {
if (isset($this->sesja['wyszukiwanie']['od']) && $this->sesja['wyszukiwanie']['od']) {
$od = $this->sesja['wyszukiwanie']['od'];
$do = $this->sesja['wyszukiwanie']['do'];
$subquery_za_darmo = " and case when (id_typu_wystawy = 11 or id_typu_wystawy = 10) then
(select count(*) from wystawy_dni_darmowe where id_wystawy = wyszukiwanie.id_wystawy and dzien in (SELECT distinct date_part('dow', t.day) as dow FROM generate_series('{$od}', '{$do}', interval '1 day') AS t(day) )) > 0
else
wystawy_za_darmo = 't' end";
}
else {
$subquery_za_darmo = " and wystawy_za_darmo = 't' ";
}
}
$subquery_dzieci_zajecia = '';
if (isset($this->sesja['wyszukiwanie']['dla_dzieci']) && $this->sesja['wyszukiwanie']['dla_dzieci'] == 1) {
$subquery_dzieci_zajecia = " and wystawy_dzieci_zajecia = 't' ";
}
$subquery_tematyka = '';
if (isset($this->wyszukiwanie_tematyka) && count($this->wyszukiwanie_tematyka) > 0) {
$wlacz_kategorie = implode(',', $this->wyszukiwanie_tematyka);
$subquery_tematyka = " and ( tematy_a&&(SELECT ARRAY(select id from kategorie_obiektow where id in ({$wlacz_kategorie}) and id not in (select idp from kategorie_obiektow where idp is not null)))
or wystawy_tematy_a&&(SELECT ARRAY(select id from kategorie_obiektow where id in ({$wlacz_kategorie}) and id not in (select idp from kategorie_obiektow where idp is not null)) ))";
}
$subquery_kategorie = '';
if (isset($this->wyszukiwanie_kategorie) && count($this->wyszukiwanie_kategorie) > 0) {
if ($this->wyszukiwanie_kategorie_wszystkie == 0) {
$wlacz_kategorie = implode(',', $this->wyszukiwanie_kategorie);
$subquery_kategorie = " and ( wydarzenie_kategorie_a&&(SELECT ARRAY(select id from slowniki where id in ({$wlacz_kategorie}))))";
}
}
$subquery_atuty = '';
if (isset($this->wyszukiwanie_atuty) && count($this->wyszukiwanie_atuty) > 0) {
foreach($this->wyszukiwanie_atuty as $atut) {
$subquery_atuty .= " and {$atut} = 't' ";
}
}
$subquery_miejsca = '';
if (isset($this->wyszukiwanie_miejsca) && count($this->wyszukiwanie_miejsca) > 0) {
$wlacz_miejsca = implode(',', $this->wyszukiwanie_miejsca);
$subquery_miejsca = " and miejsca_a&&'{{$wlacz_miejsca}}' ";
}
$qubquery_nie_przegap = '';
if ($this->element == 'wystawy_nie_przegap') {
$qubquery_nie_przegap = " and data_do is not null and wystawa_do_zakonczenia > 0 ";
}
$qubquery_zapowiedzi = '';
if ($this->element == 'wystawy_zapowiedzi') {
$qubquery_zapowiedzi = " and data_od is not null and wystawa_do_rozpoczecia > 0 ";
}
$element_obiekty = false;
$subquery_typ_obiektu = '';
if ($this->strona_id == '2001' || $this->request['strona_id'] == '2001') {
$subquery_typ_obiektu = " and id_obiektu in (1001, 1002) ";
}
elseif ($this->strona_id == '2002' || $this->request['strona_id'] == '2002') {
$subquery_typ_obiektu = " and miejsca_a&&(SELECT ARRAY(select id from kategorie_miejsc where idp = '101')) ";
$element_obiekty = true;
}
elseif ($this->strona_id == '2003' || $this->request['strona_id'] == '2003') {
$subquery_typ_obiektu = " and miejsca_a&&(SELECT ARRAY(select id from kategorie_miejsc where idp = '105')) ";
$element_obiekty = true;
}
elseif ($this->strona_id == '2004' || $this->request['strona_id'] == '2004') {
$subquery_typ_obiektu = " and miejsca_a&&(SELECT ARRAY(select id from kategorie_miejsc where idp = '113')) ";
$element_obiekty = true;
}
elseif ($this->strona_id == '2005' || $this->request['strona_id'] == '2005') {
$subquery_typ_obiektu = " and id_obiektu in (1003, 1004) ";
}
$subquery_gps = '';
if ( ($this->element == 'w_poblizu' || $this->element == 'nearby' || $this->request['wyszukiwanie_element'] == 'w_poblizu' || $this->request['wyszukiwanie_element'] == 'nearby') && isset($this->sesja['gps']['latitude']) && isset($this->sesja['gps']['longitude']) && $this->sesja['gps']['latitude'] && $this->sesja['gps']['longitude']) {
$subquery_gps = ' and szerokosc_geograficzna is not null and dlugosc_geograficzna is not null and ocena_int >=2 ';
if ($this->wyszukiwanie_odleglosc == 1) { $subquery_gps .= " and (point(dlugosc_geograficzna::float, szerokosc_geograficzna::float) <@> point('{$this->sesja['gps']['longitude']}', '{$this->sesja['gps']['latitude']}'))*1.60934 <= 5"; }
if ($this->wyszukiwanie_odleglosc == 2) { $subquery_gps .= " and (point(dlugosc_geograficzna::float, szerokosc_geograficzna::float) <@> point('{$this->sesja['gps']['longitude']}', '{$this->sesja['gps']['latitude']}'))*1.60934 <= 25"; }
if ($this->wyszukiwanie_odleglosc == 3) { $subquery_gps .= " and (point(dlugosc_geograficzna::float, szerokosc_geograficzna::float) <@> point('{$this->sesja['gps']['longitude']}', '{$this->sesja['gps']['latitude']}'))*1.60934 <= 50"; }
}
if ($this->element == 'wystawy_nie_przegap') {
$order_by = "wystawa_do_zakonczenia";
}
elseif ($this->element == 'wystawy_zapowiedzi') {
$order_by = "wystawa_do_rozpoczecia";
}
elseif (($this->element == 'w_poblizu' || $this->request['wyszukiwanie_element'] == 'w_poblizu' || $this->element == 'nearby' || $this->request['wyszukiwanie_element'] == 'nearby') && isset($this->sesja['gps']['latitude']) && isset($this->sesja['gps']['longitude']) && $this->sesja['gps']['latitude'] && $this->sesja['gps']['longitude']) {
$order_by = " (point(dlugosc_geograficzna::float, szerokosc_geograficzna::float) <@> point('{$this->sesja['gps']['longitude']}', '{$this->sesja['gps']['latitude']}')), (liczba_wystaw+liczba_wydarzen) desc, ocena_int desc";
}
elseif ($this->wyszukiwanie_order == 3) {
$order_by = "ocena_int desc";
}
elseif ($this->wyszukiwanie_order == 4) {
$order_by = "(liczba_wystaw+liczba_wydarzen) desc, ocena_int desc";
}
elseif ($this->wyszukiwanie_order == 2) {
$suborder_a = array();
if ($this->pokaz_wystawy || $this->pokaz_wydarzenia || $this->pokaz_atrakcje) {
if ($this->pokaz_wystawy) { $suborder_a[] = 'liczba_wystaw';}
if ($this->pokaz_wydarzenia) { $suborder_a[] = 'liczba_wydarzen';}
if ($this->pokaz_atrakcje) { $suborder_a[] = 'liczba_atrakcji';}
$suborder = implode('+', $suborder_a);
}
else {
$suborder = 'liczba_wystaw+liczba_wydarzen+liczba_atrakcji';
}
$order_by = " (ocena_int::float+{$subquery_co_order}::float) desc, ({$suborder}) desc";
}
else {
if ($this->pokaz_obiekty) {
$order_by = "nazwa_wlasciciel";
}
elseif ($this->pokaz_wystawy) {
$order_by = "wystawy_tytul";
}
elseif ($this->pokaz_wydarzenia) {
$order_by = "wydarzenia_tytul";
}
else {
$order_by = "nazwa_wlasciciel";
}
}
$query = "select id_muzeum, pokaz, wystawy_tytul, tematy_a, wystawy_tematy_a, id_wystawy, wystawy_pokaz, pokaz_jako_atrakcje, id_wydarzenia, wydarzenia_pokaz, id_cennik_atrakcji, id_cennik_atrakcji, ocena_int, za_darmo, dzieci_zajecia, wystawy_za_darmo, wystawy_dzieci_zajecia, liczba_wystaw, liczba_wydarzen, liczba_atrakcji,
atut_transport, atut_parking, atut_parking_platny, atut_sesja_zdjeciowa, atut_ceremonia_slubna, atut_dostepnosc, atut_dzieci, atut_audioprzewodnik, atut_kawiarnia, atut_warsztaty, atut_sklep, atut_restauracja, atut_plener, atut_park, atut_noclegi,
array_to_json(tematy_a) as tematy_j, array_to_json(wystawy_tematy_a) as wystawy_tematy_j, array_to_json(wydarzenie_kategorie_a) as wydarzenie_kategorie_j, array_to_json(miejsca_a) as miejsca_j,
{$subquery_co_rank} from wyszukiwanie {$subquery_co_from}
where pokaz = 't' and case when(id_wystawy is not null and wystawy_pokaz = 'f') then false else true end and case when(id_wydarzenia is not null and wydarzenia_pokaz = 'f') then false else true end
{$subquery_typ_obiektu} {$subquery_co} {$subquery_miasto} {$subquery_wojewodztwo} {$subquery_kiedy} {$subquery_za_darmo} {$subquery_dzieci_zajecia} {$subquery_tematyka} {$subquery_atuty} {$subquery_miejsca} {$subquery_kategorie} {$qubquery_nie_przegap} {$qubquery_zapowiedzi} {$subquery_gps}
order by {$order_by}";
$wyszukiwanie_lista_obiektow = array();
$wyszukiwanie_lista_wystaw = array();
$wyszukiwanie_lista_wydarzen = array();
$wyszukiwanie_lista_atrakcji = array();
$wyszukiwanie_lista_atutow = array();
$wyszukiwanie_lista_polaczona = array();
$wyszukiwanie_kategorie_tematy = array();
$wyszukiwanie_kategorie_miejsca = array();
$wyszukiwanie_kategorie_kategorie = array();
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
if ($row['id_muzeum']) {
$wyszukiwanie_lista_obiektow[$row['id_muzeum']]['id'] = $row['id_muzeum'];
$wyszukiwanie_lista_obiektow[$row['id_muzeum']]['typ'] = 'muzeum';
}
if ($row['id_wystawy']) {
if ($row['pokaz_jako_atrakcje'] == 't') {
$wyszukiwanie_lista_obiektow[$row['id_muzeum']]['atrakcje_wystawy'][$row['id_wystawy']] = $row['id_wystawy'];
$wyszukiwanie_lista_atrakcji[$row['id_wystawy']]['id'] = $row['id_wystawy'];
$wyszukiwanie_lista_atrakcji[$row['id_wystawy']]['typ'] = 'wystawa';
if ($this->pokaz_atrakcje) {
$wyszukiwanie_lista_polaczona[$row['id_wystawy']]['id'] = $row['id_wystawy'];
$wyszukiwanie_lista_polaczona[$row['id_wystawy']]['typ'] = 'wystawa';
}
}
else {
$wyszukiwanie_lista_obiektow[$row['id_muzeum']]['wystawy'][$row['id_wystawy']] = $row['id_wystawy'];
$wyszukiwanie_lista_wystaw[$row['id_wystawy']]['id'] = $row['id_wystawy'];
$wyszukiwanie_lista_wystaw[$row['id_wystawy']]['typ'] = 'wystawa';
if ($this->pokaz_wystawy) {
$wyszukiwanie_lista_polaczona[$row['id_wystawy']]['id'] = $row['id_wystawy'];
$wyszukiwanie_lista_polaczona[$row['id_wystawy']]['typ'] = 'wystawa';
}
}
}
if ($row['id_wydarzenia']) {
if ($row['id_cennik_atrakcji']) {
$wyszukiwanie_lista_obiektow[$row['id_muzeum']]['atrakcje_wydarzenia'][$row['id_wydarzenia']] = $row['id_wydarzenia'];
$wyszukiwanie_lista_atrakcji[$row['id_wydarzenia']]['id'] = $row['id_wydarzenia'];
$wyszukiwanie_lista_atrakcji[$row['id_wydarzenia']]['typ'] = 'wydarzenie';
if ($this->pokaz_atrakcje) {
$wyszukiwanie_lista_polaczona[$row['id_wydarzenia']]['id'] = $row['id_wydarzenia'];
$wyszukiwanie_lista_polaczona[$row['id_wydarzenia']]['typ'] = 'wydarzenie';
}
}
else {
$wyszukiwanie_lista_obiektow[$row['id_muzeum']]['wydarzenia'][$row['id_wydarzenia']] = $row['id_wydarzenia'];
$wyszukiwanie_lista_wydarzen[$row['id_wydarzenia']]['id'] = $row['id_wydarzenia'];
$wyszukiwanie_lista_wydarzen[$row['id_wydarzenia']]['typ'] = 'wydarzenie';
if ($this->pokaz_wydarzenia) {
$wyszukiwanie_lista_polaczona[$row['id_wydarzenia']]['id'] = $row['id_wydarzenia'];
$wyszukiwanie_lista_polaczona[$row['id_wydarzenia']]['typ'] = 'wydarzenie';
}
}
}
if ($row['atut_transport'] == 't') { $wyszukiwanie_lista_atutow['atut_transport'] = 'atut_transport'; }
if ($row['atut_parking'] == 't') { $wyszukiwanie_lista_atutow['atut_parking'] = 'atut_parking'; }
if ($row['atut_parking_platny'] == 't') { $wyszukiwanie_lista_atutow['atut_parking_platny'] = 'atut_parking_platny'; }
if ($row['atut_dostepnosc'] == 't') { $wyszukiwanie_lista_atutow['atut_dostepnosc'] = 'atut_dostepnosc'; }
if ($row['atut_dzieci'] == 't') { $wyszukiwanie_lista_atutow['atut_dzieci'] = 'atut_dzieci'; }
if ($row['atut_audioprzewodnik'] == 't') { $wyszukiwanie_lista_atutow['atut_audioprzewodnik'] = 'atut_audioprzewodnik'; }
if ($row['atut_kawiarnia'] == 't') { $wyszukiwanie_lista_atutow['atut_kawiarnia'] = 'atut_kawiarnia'; }
if ($row['atut_warsztaty'] == 't') { $wyszukiwanie_lista_atutow['atut_warsztaty'] = 'atut_warsztaty'; }
if ($row['atut_sklep'] == 't') { $wyszukiwanie_lista_atutow['atut_sklep'] = 'atut_sklep'; }
if ($row['atut_restauracja'] == 't') { $wyszukiwanie_lista_atutow['atut_restauracja'] = 'atut_restauracja'; }
if ($row['atut_sesja_zdjeciowa'] == 't') { $wyszukiwanie_lista_atutow['atut_sesja_zdjeciowa'] = 'atut_sesja_zdjeciowa'; }
if ($row['atut_ceremonia_slubna'] == 't') { $wyszukiwanie_lista_atutow['atut_ceremonia_slubna'] = 'atut_ceremonia_slubna'; }
if ($row['atut_plener'] == 't') { $wyszukiwanie_lista_atutow['atut_plener'] = 'atut_plener'; }
if ($row['atut_park'] == 't') { $wyszukiwanie_lista_atutow['atut_park'] = 'atut_park'; }
if ($row['atut_noclegi'] == 't') { $wyszukiwanie_lista_atutow['atut_noclegi'] = 'atut_noclegi'; }
$tematy_j = json_decode($row['tematy_j']);
$wystawy_tematy_j = json_decode($row['wystawy_tematy_j']);
$wydarzenie_kategorie_j = json_decode($row['wydarzenie_kategorie_j']);
$miejsca_j = json_decode($row['miejsca_j']);
foreach($tematy_j as $id_tematu) { $wyszukiwanie_kategorie_tematy[$id_tematu] = $id_tematu; }
foreach($wystawy_tematy_j as $id_tematu) { $wyszukiwanie_kategorie_tematy[$id_tematu] = $id_tematu; }
foreach($wydarzenie_kategorie_j as $id_kategorii) { $wyszukiwanie_kategorie_kategorie[$id_kategorii] = $id_kategorii; }
foreach($miejsca_j as $id_miejsca) { $wyszukiwanie_kategorie_miejsca[$id_miejsca] = $id_miejsca; }
}
}
$this->wyszukiwanie_lista_wystaw = $wyszukiwanie_lista_wystaw;
$this->wyszukiwanie_liczba_wystaw = count($this->wyszukiwanie_lista_wystaw);
$this->wyszukiwanie_lista_obiektow = $wyszukiwanie_lista_obiektow;
$this->wyszukiwanie_liczba_obiektow = count($this->wyszukiwanie_lista_obiektow);
$this->wyszukiwanie_lista_wydarzen = $wyszukiwanie_lista_wydarzen;
$this->wyszukiwanie_liczba_wydarzen = count($this->wyszukiwanie_lista_wydarzen);
$this->wyszukiwanie_lista_atrakcji = $wyszukiwanie_lista_atrakcji;
$this->wyszukiwanie_liczba_atrakcji = count($this->wyszukiwanie_lista_atrakcji);
$this->wyszukiwanie_lista_polaczona = $wyszukiwanie_lista_polaczona;
$this->wyszukiwanie_liczba_polaczona = count($this->wyszukiwanie_lista_polaczona);
$this->wyszukiwanie_lista_atutow = $wyszukiwanie_lista_atutow;
$this->wyszukiwanie_kategorie_tematy = $wyszukiwanie_kategorie_tematy;
$this->wyszukiwanie_kategorie_miejsca = $wyszukiwanie_kategorie_miejsca;
$this->wyszukiwanie_kategorie_kategorie = $wyszukiwanie_kategorie_kategorie;
if ($element_obiekty) {
$this->wyszukiwanie_liczba = count($this->wyszukiwanie_lista_obiektow);
}
else {
$this->wyszukiwanie_liczba = 0;
if ($this->pokaz_obiekty) { $this->wyszukiwanie_liczba += count($this->wyszukiwanie_lista_obiektow); }
if ($this->pokaz_wystawy) { $this->wyszukiwanie_liczba += count($this->wyszukiwanie_lista_wystaw); }
if ($this->pokaz_wydarzenia) { $this->wyszukiwanie_liczba += count($this->wyszukiwanie_lista_wydarzen); }
if ($this->pokaz_atrakcje) { $this->wyszukiwanie_liczba += count($this->wyszukiwanie_lista_atrakcji); }
}
$strona = 1;
if ($this->id) { $strona = $this->id; }
if ($this->pokaz_obiekty && ($this->pokaz_wystwy || $this->pokaz_wydarzenia || $this->pokaz_atrakcje)) { $limit = 10; }
else { $limit = 12; }
$offset = (($strona)-1)*$limit;
if ($this->pokaz_obiekty) {
$liczba = $this->wyszukiwanie_liczba_obiektow;
}
else {
$liczba = $this->wyszukiwanie_liczba_polaczona;
}
if (basename($_SERVER['SCRIPT_NAME']) == 'ustawienia.php') {
$link = $_SESSION[CFG_SESSION_NAME]['wyszukiwanie_pager'];
}
else {
$link = $this->element.',(:num),'.$this->reszta.','.$this->id2.','.$this->reszta2.','.$this->id3.','.$this->reszta3.'.html#i';
$_SESSION[CFG_SESSION_NAME]['wyszukiwanie_pager'] = $link;
}
$paginator = new JasonGrimes\Paginator($liczba, $limit, $strona, $link);
$paginator->setMaxPagesToShow(7);
if ($this->pokaz_obiekty) {
$lista_splice = array_splice($wyszukiwanie_lista_obiektow, $offset, $limit);
}
else {
$lista_splice = array_splice($wyszukiwanie_lista_polaczona, $offset, $limit);
}
$lista = array();
foreach($lista_splice as $id_elementu=>$dane) {
if ($dane['typ'] == 'muzeum') {
$object = Muzeum::pobierz($this->db, $dane['id']);
if (is_object($object)) {
$lista[] = $object;
if ($this->pokaz_wystawy) {
foreach($dane['wystawy'] as $id_wystawy) {
$object = Wystawa::pobierzLite($this->db, $id_wystawy);
if (is_object($object)) {
$lista[] = $object;
}
}
}
if ($this->pokaz_wydarzenia) {
foreach($dane['wydarzenia'] as $id_wydarzenia) {
$object = Wydarzenie::pobierz($this->db, $id_wydarzenia);
if (is_object($object)) {
$lista[] = $object;
}
}
}
if ($this->pokaz_atrakcje) {
foreach($dane['atrakcje_wystawy'] as $id_wystawy) {
$object = Wystawa::pobierzLite($this->db, $id_wystawy);
if (is_object($object)) {
$lista[] = $object;
}
}
foreach($dane['atrakcje_wydarzenia'] as $id_wydarzenia) {
$object = Wydarzenie::pobierz($this->db, $id_wydarzenia);
if (is_object($object)) {
$lista[] = $object;
}
}
}
}
}
if ($dane['typ'] == 'wystawa') {
$object = Wystawa::pobierzLite($this->db, $dane['id']);
if (is_object($object)) {
$lista[] = $object;
}
}
if ($dane['typ'] == 'wydarzenie') {
$object = Wydarzenie::pobierz($this->db, $dane['id']);
if (is_object($object)) {
$lista[] = $object;
}
}
}
return array('lista' => $lista, 'pager' => $paginator);
}
//}}}
//{{{ getKategorieMiejscWWW()
function getKategorieMiejscWWW($start = true) {
$lista = array();
/*
$wyszukiwanie_lista_obiektow = array_keys($this->wyszukiwanie_lista_obiektow);
$wyszukiwanie_lista_wystaw = array_keys($this->wyszukiwanie_lista_wystaw);
$wyszukiwanie_lista_obiektow_s = "'".implode("','", $wyszukiwanie_lista_obiektow)."'";
$wyszukiwanie_lista_wystaw_s = "'".implode("','", $wyszukiwanie_lista_wystaw)."'";
*/
if ($start) {
$start_wyszukiwanie_kategorie_miejsca_s = "'".implode("','", $this->start_wyszukiwanie_kategorie_miejsca)."'";
}
else {
$start_wyszukiwanie_kategorie_miejsca_s = "'".implode("','", $this->wyszukiwanie_kategorie_miejsca)."'";
}
$query = "select kl.*, k.idp from kategorie_miejsc_lang kl, kategorie_miejsc k where k.id = kl.id_kategorii_miejsca and kl.id_lang = '{$this->lang}' and k.id in ({$start_wyszukiwanie_kategorie_miejsca_s}) ";
if ($this->strona_id == '2002') {
$query .= " and (k.idp = '101')";
}
if ($this->strona_id == '2003') {
$query .= " and (k.idp = '105')";
}
if ($this->strona_id == '2004') {
$query .= " and (k.idp = '113')";
}
$query .= "order by kl.nazwa";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id_kategorii_miejsca']] = $row;
}
}
return $lista;
}
//}}}
//{{{ getKategorieMiejscGrupaWWW()
function getKategorieMiejscGrupaWWW() {
$query = "select km.id, kml.nazwa from
kategorie_miejsc km, kategorie_miejsc_lang kml where km.id = kml.id_kategorii_miejsca and km.optgroup = 't' and kml.id_lang = '{$this->lang}' order by km.kolejnosc";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row['nazwa'];
}
}
return $lista;
}
//}}}
//{{{ getAtutyWWW()
function getAtutyWWW() {
$lista = array();
if (isset($this->wyszukiwanie_lista_atutow['atut_transport'])) { $lista['atut_transport'] = array('img' => 'images/atuty_transport1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_dojazd'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_parking'])) { $lista['atut_parking'] = array('img' => 'images/atuty_parking1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_parking'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_parking_platny'])) { $lista['atut_parking_platny'] = array('img' => 'images/atuty_parking_platny1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_parking_platny'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_dostepnosc'])) { $lista['atut_dostepnosc'] = array('img' => 'images/atuty_dostepnosc1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_przystosowanie'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_dzieci'])) { $lista['atut_dzieci'] = array('img' => 'images/atuty_dzieci1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_dzieci'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_audioprzewodnik'])) { $lista['atut_audioprzewodnik'] = array('img' => 'images/atuty_audioprzewodnik1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_audioprzewodnik'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_kawiarnia'])) { $lista['atut_kawiarnia'] = array('img' => 'images/atuty_kawiarnia1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_kawiarnia'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_warsztaty'])) { $lista['atut_warsztaty'] = array('img' => 'images/atuty_warsztaty1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_warsztaty'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_sklep'])) { $lista['atut_sklep'] = array('img' => 'images/atuty_sklep1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_sklep'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_restauracja'])) { $lista['atut_restauracja'] = array('img' => 'images/atuty_restauracja1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_restauracja'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_sesja_zdjeciowa'])) { $lista['atut_sesja_zdjeciowa'] = array('img' => 'images/atuty_sesja_zdjeciowa1.svg', 'tekst' => 'msg_www_obiekt_atuty_sesja_zdjeciowa'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_ceremonia_slubna'])) { $lista['atut_ceremonia_slubna'] = array('img' => 'images/atuty_ceremonia_slubna1.svg', 'tekst' => 'msg_www_obiekt_atuty_ceremonia_slubna'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_plener'])) { $lista['atut_plener'] = array('img' => 'images/atuty_plener1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_plener'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_park'])) { $lista['atut_park'] = array('img' => 'images/atuty_park1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_park'); }
if (isset($this->wyszukiwanie_lista_atutow['atut_noclegi'])) { $lista['atut_noclegi'] = array('img' => 'images/atuty_noclegi1.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_nocleg'); }
return $lista;
}
//}}}
//{{{ getKategorieWydarzenWWW()
function getKategorieWydarzenWWW($start = true) {
$lista = array();
$pole = 'nazwa_pelna';
if ($this->lang == 2) {
$pole = 'nazwa_pelna_en';
}
/*
$subquery_wydarzenia_s = '-1';
$wyszukiwanie_lista_wydarzen = array_keys($this->wyszukiwanie_lista_wydarzen);
if (count($wyszukiwanie_lista_wydarzen) > 0) {
$subquery_wydarzenia_s = implode(',', $wyszukiwanie_lista_wydarzen);
}
*/
if ($start) {
$start_wyszukiwanie_kategorie_kategorie_s = "'".implode("','", $this->start_wyszukiwanie_kategorie_kategorie)."'";
}
else {
$start_wyszukiwanie_kategorie_kategorie_s = "'".implode("','", $this->wyszukiwanie_kategorie_kategorie)."'";
}
$query = "select id, {$pole} as nazwa from slowniki where id in (select id_kategorii from wydarzenia_kategorie where id_wydarzenia in ({$start_wyszukiwanie_kategorie_kategorie_s})) order by {$pole}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row;
}
}
return $lista;
}
//}}}
//{{{ getKategorieMiejscaWWW()
function getKategorieMiejscaWWW() {
$lista = array();
$tabela = 'kategorie_miejsca_view';
if ($this->lang == 2) {
$tabela = 'kategorie_miejsca_en_view';
}
$kategorie_miejsc = array();
$query = "select * from {$tabela}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategorie_miejsc[$row['id']] = $row;
}
}
$query = "select * from {$tabela} where id in (select id_kategorii_miejsca from muzea_kategorie_miejsc_widok) ";
$query .= " order by kolejnosc ";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
if (!$row['idp']) {
$row['lista'] = array();
$row['lista_wlaczone'] = array();
$lista[$row['id']] = $row;
}
else {
if (!$lista[$row['idp']]) {
$lista[$row['idp']] = $kategorie_miejsc[$row['idp']];
$lista[$row['idp']]['lista'] = array();
$lista[$row['idp']]['lista_wlaczone'] = array();
}
$lista[$row['idp']]['lista'][$row['id']] = $row;
if (in_array($row['id'], $this->wyszukiwanie_miejsca)) {
$lista[$row['idp']]['lista_wlaczone'][$row['id']] = $row;
}
}
}
}
return $lista;
}
//}}}
//{{{ getKategorieObiektowWWW()
function getKategorieObiektowWWW($start = true) {
$lista = array();
$tabela = 'kategorie_obiektow_view';
if ($this->lang == 2) {
$tabela = 'kategorie_obiektow_en_view';
}
if ($this->element == 'wyszukiwanie' || $this->element == 'obiekty'|| $this->strona_element == 'obiekty' || $this->request['element'] == 'wyszukiwanie' || true) {
$kategorie_obiektow = array();
if ($start) {
$start_wyszukiwanie_kategorie_tematy_s = "'".implode("','", $this->start_wyszukiwanie_kategorie_tematy)."'";
}
else {
$start_wyszukiwanie_kategorie_tematy_s = "'".implode("','", $this->wyszukiwanie_kategorie_tematy)."'";
}
$query = "select * from {$tabela} where id in ({$start_wyszukiwanie_kategorie_tematy_s}) or id in (select idp from {$tabela} where id in ({$start_wyszukiwanie_kategorie_tematy_s}) )";
/*
$query = "select * from {$tabela}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategorie_obiektow[$row['id']] = $row;
}
}
$wyszukiwanie_lista_obiektow = array_keys($this->wyszukiwanie_lista_obiektow);
$wyszukiwanie_lista_wystaw = array_keys($this->wyszukiwanie_lista_wystaw);
$wyszukiwanie_lista_obiektow_s = "'".implode("','", $wyszukiwanie_lista_obiektow)."'";
$wyszukiwanie_lista_wystaw_s = "'".implode("','", $wyszukiwanie_lista_wystaw)."'";
$query = "(select * from {$tabela} where id in (select id_kategorii_obiektu from wystawy_kategorie_obiektow where id_wystawy in ({$wyszukiwanie_lista_wystaw_s})))
UNION
(select * from {$tabela} where id in (select id_kategorii_obiektu from muzea_kategorie_obiektow where id_muzeum in ({$wyszukiwanie_lista_obiektow_s})))";
*/
}
elseif ($this->element == 'wydarzenia') {
$kategorie_obiektow = array();
$query = "select * from {$tabela}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategorie_obiektow[$row['id']] = $row;
}
}
$query = "select * from {$tabela} where 1=1 and id in (select id_kategorii_obiektu from muzea_kategorie_obiektow where id_muzeum in (select id_muzeum from wydarzenia where id_cennik_atrakcji is not null)) ";
}
else {
$query = "select * from {$tabela} where 1=1 ";
}
$query .= " order by kolejnosc ";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
if (!$row['idp']) {
$row['lista'] = array();
$row['lista_wlaczone'] = array();
$lista[$row['id']] = $row;
}
else {
if (!$lista[$row['idp']]) {
$lista[$row['idp']] = $kategorie_obiektow[$row['idp']];
$lista[$row['idp']]['lista'] = array();
$lista[$row['idp']]['lista_wlaczone'] = array();
}
$lista[$row['idp']]['lista'][$row['id']] = $row;
if (in_array($row['id'], $this->wyszukiwanie_tematyka)) {
$lista[$row['idp']]['lista_wlaczone'][$row['id']] = $row;
}
}
}
}
return $lista;
}
//}}}
//{{{ getWszystkieKategorieObiektowWWW()
function getWszystkieKategorieObiektowWWW() {
$lista = array();
$lista = array();
$tabela = 'kategorie_obiektow_view';
if ($this->lang == 2) {
$tabela = 'kategorie_obiektow_en_view';
}
$query = "select * from {$tabela} where 1=1 ";
$query .= " order by kolejnosc ";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
if (!$row['idp']) {
$row['lista'] = array();
$row['lista_wlacz'] = array();
$lista[$row['id']] = $row;
}
else {
if (!$lista[$row['idp']]) {
$lista[$row['idp']] = $kategorie_obiektow[$row['idp']];
$lista[$row['idp']]['lista'] = array();
$lista[$row['idp']]['lista_wlacz'] = array();
}
$lista[$row['idp']]['lista'][$row['id']] = $row;
if (in_array($row['id'], $this->wyszukiwanie_tematyka)) {
$lista[$row['idp']]['lista_wlacz'][$row['id']] = $row;
}
}
}
}
return $lista;
}
//}}}
//{{{ getMiastaWWW()
function getMiastaWWW() {
$lista = array();
$query = "(select distinct miasto as nazwa from miasta_view)
UNION
(select INITCAP(nazwa) as nazwa from wojewodztwa)
order by nazwa";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['nazwa']] = $row['nazwa'];
}
}
return "'".implode("','", $lista)."'";
}
//}}}
//{{{ getMiastaWojewodztwaWWW()
function getMiastaWojewodztwaWWW() {
$lista = array();
$query = "(select distinct miasto as nazwa, wojewodztwo from miasta_view)
UNION
(select INITCAP(nazwa) as nazwa, '' as wojewodztwo from wojewodztwa) order by nazwa";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[trim($row['nazwa']).trim($row['wojewodztwo'])] = array('nazwa' => trim($row['nazwa']), 'wojewodztwo' => trim($row['wojewodztwo']));
}
}
return $lista;
}
//}}}
//{{{ getMiastaWojewodztwaAutocompleteWWW()
function getMiastaWojewodztwaAutocompleteWWW($fraza) {
$lista = array();
$query = "(select distinct miasto as nazwa, wojewodztwo from miasta_view where miasto ilike '{$fraza}%')
UNION
(select INITCAP(nazwa) as nazwa, '' as wojewodztwo from wojewodztwa where nazwa ilike '{$fraza}%') order by nazwa";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[] = array('label' => trim($row['nazwa']), 'wojewodztwo' => trim($row['wojewodztwo']));
}
}
return $lista;
}
//}}}
//{{{ getMiastaWojewodztwaWWW2()
function getMiastaWojewodztwaWWW2() {
$lista = array();
if (isset($this->sesja['wyszukiwanie']['id_wojewodztwa']) && $this->sesja['wyszukiwanie']['id_wojewodztwa']) {
$query = "(select distinct miasto as nazwa, wojewodztwo from miasta_view where id_wojewodztwa = '{$this->sesja['wyszukiwanie']['id_wojewodztwa']}')";
}
else {
$query = "(select distinct miasto as nazwa, wojewodztwo from miasta_view)
UNION
(select INITCAP(nazwa) as nazwa, '' as wojewodztwo from wojewodztwa) order by nazwa";
}
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[trim($row['nazwa']).trim($row['wojewodztwo'])] = array('nazwa' => trim($row['nazwa']), 'wojewodztwo' => trim($row['wojewodztwo']));
}
}
return $lista;
}
//}}}
//{{{ getTematykaMiejscaWWW()
function getTematykaMiejscaWWW($lang) {
if ($lang == 1) {
$query = "(select k.id, kl.nazwa from kategorie_obiektow k, kategorie_obiektow_lang kl where k.id = kl.id_kategorii_obiektu and kl.id_lang = '{$lang}' and k.idp is not null)
UNION
(select k.id, kl.nazwa from kategorie_miejsc k, kategorie_miejsc_lang kl where k.id = kl.id_kategorii_miejsca and kl.id_lang = '{$lang}' and k.idp is not null)
UNION
(select distinct s.id, s.nazwa_pelna as nazwa from slowniki s where s.id in (select id_kategorii from wydarzenia_kategorie))
order by nazwa";
}
else {
$query = "(select k.id, kl.nazwa from kategorie_obiektow k, kategorie_obiektow_lang kl where k.id = kl.id_kategorii_obiektu and kl.id_lang = '{$lang}' and k.idp is not null)
UNION
(select k.id, kl.nazwa from kategorie_miejsc k, kategorie_miejsc_lang kl where k.id = kl.id_kategorii_miejsca and kl.id_lang = '{$lang}' and k.idp is not null)
UNION
(select distinct s.id, s.nazwa_pelna_en as nazwa from slowniki s where s.id in (select id_kategorii from wydarzenia_kategorie))
order by nazwa";
}
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[trim($row['nazwa'])] = array('nazwa' => trim($row['nazwa']));
}
}
return $lista;
}
//}}}
//{{{ getTematykaMiejscaAutocompleteWWW()
function getTematykaMiejscaAutocompleteWWW($lang, $fraza) {
if ($lang == 1) {
$query = "(select k.id, kl.nazwa from kategorie_obiektow k, kategorie_obiektow_lang kl where k.id = kl.id_kategorii_obiektu and kl.id_lang = '{$lang}' and k.idp is not null and kl.nazwa ilike '{$fraza}%')
UNION
(select k.id, kl.nazwa from kategorie_miejsc k, kategorie_miejsc_lang kl where k.id = kl.id_kategorii_miejsca and kl.id_lang = '{$lang}' and k.idp is not null and kl.nazwa ilike '{$fraza}%')
UNION
(select distinct s.id, s.nazwa_pelna as nazwa from slowniki s where s.id in (select id_kategorii from wydarzenia_kategorie) and s.nazwa_pelna ilike '{$fraza}%')
order by nazwa";
}
else {
$query = "(select k.id, kl.nazwa from kategorie_obiektow k, kategorie_obiektow_lang kl where k.id = kl.id_kategorii_obiektu and kl.id_lang = '{$lang}' and k.idp is not null and kl.nazwa ilike '{$fraza}%')
UNION
(select k.id, kl.nazwa from kategorie_miejsc k, kategorie_miejsc_lang kl where k.id = kl.id_kategorii_miejsca and kl.id_lang = '{$lang}' and k.idp is not null and kl.nazwa ilike '{$fraza}%')
UNION
(select distinct s.id, s.nazwa_pelna_en as nazwa from slowniki s where s.id in (select id_kategorii from wydarzenia_kategorie) and s.nazwa_pelna ilike '{$fraza}%')
order by nazwa";
}
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[] = array('label' => trim($row['nazwa']));
}
}
return $lista;
}
//}}}
//{{{ getMiastaStopka()
function getMiastaStopka() {
$lista = array();
$query = "select miasto, count(*) from wystawy_dane_adresowe group by miasto order by count(*) desc limit 8";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['miasto']] = $row['miasto'];
}
}
return $lista;
}
//}}}
//{{{ getWojewodztwaWWW()
function getWojewodztwaWWW() {
$query = "select * from wojewodztwa order by id";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row['nazwa'];
}
}
return $lista;
}
//}}}
//{{{ getKiedyWWW()
function getKiedyWWW() {
$kiedy = '';
$query = "SELECT to_char(CURRENT_DATE + CAST(6 - extract(dow FROM CURRENT_DATE) AS INT) % 7, 'YYYY.MM-DD') AS data_od,
to_char(CURRENT_DATE + CAST(7 - extract(dow FROM CURRENT_DATE) AS INT) % 7, 'YYYY.MM-DD') AS data_do";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
$kiedy = $row['data_od'].' - '.$row['data_do'];
}
return $kiedy;
}
//}}}
//{{{ getStronyWWW()
function getStronyWWW() {
$strony = array();
$query = "select * from strony";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$strona_ob = Strona::pobierz($this->db, $row['id']);
if (is_object($strona_ob)) {
$strony[$row['id']] = $strona_ob;
}
}
}
return $strony;
}
//}}}
//{{{ getLinkiMiejscWWW()
function getLinkiMiejscWWW() {
$linki = array(
'2001' => array('nazwa' => $this->t('msg_www_menu_muzea_i_galerie'), 'link' => $this->t1('msg_www_menu_muzea_i_galerie'), 'link1' => $this->t1('msg_www_menu_muzea_i_galerie'), 'link2' => $this->t2('msg_www_menu_muzea_i_galerie')),
'2002' => array('nazwa' => $this->t('msg_www_menu_palace_i_zamki'), 'link' => $this->t1('msg_www_menu_palace_i_zamki'), 'link1' => $this->t1('msg_www_menu_palace_i_zamki'), 'link2' => $this->t2('msg_www_menu_palace_i_zamki')),
'2003' => array('nazwa' => $this->t('msg_www_menu_ogrody_i_skanseny'), 'link' => $this->t1('msg_www_menu_ogrody_i_skanseny'), 'link1' => $this->t1('msg_www_menu_ogrody_i_skanseny'), 'link2' => $this->t2('msg_www_menu_ogrody_i_skanseny')),
'2004' => array('nazwa' => $this->t('msg_www_menu_ciekawe_obiekty'), 'link' => $this->t1('msg_www_menu_ciekawe_obiekty'), 'link1' => $this->t1('msg_www_menu_ciekawe_obiekty'), 'link2' => $this->t2('msg_www_menu_ciekawe_obiekty')),
'2005' => array('nazwa' => $this->t('msg_www_menu_domy_kultury_i_biblioteki'), 'link' => $this->t1('msg_www_menu_domy_kultury_i_biblioteki'), 'link1' => $this->t1('msg_www_menu_domy_kultury_i_biblioteki'), 'link2' => $this->t2('msg_www_menu_domy_kultury_i_biblioteki')),
// '3001' => array('nazwa' => $this->t('msg_www_menu_w_poblizu'), 'link' => $this->t1('msg_www_menu_w_poblizu'), 'link1' => $this->t1('msg_www_menu_w_poblizu'), 'link2' => $this->t2('msg_www_menu_w_poblizu')),
);
return $linki;
}
//}}}
//{{{ getLinkiMiastWWW()
function getLinkiMiastWWW() {
$linki = array();
$query = "select * from miasta_linki";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$linki[$row['id']] = array('nazwa' => $row['miasto'], 'link' => $row['miasto']);
}
}
return $linki;
}
//}}}
//{{{ getEl()
function getEl($link) {
if ($this->lang == 2 && isset($this->linki_tlumaczenia[$link])) {
$link = $this->linki_tlumaczenia[$link];
}
return $link;
}
//}}}
//{{{ getHttps()
function getHttps() {
$domena = CFG_STRONA_HTTPS;
if ($this->lang == 2) {
$domena .= "/en";
}
return $domena;
}
//}}}
//{{{ getObiektyOkolica()
function getObiektyOkolica($id) {
$query = "select * from muzea where id = '{$id}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
if ($row['id_przynaleznosci']) {
$id_przynaleznosci = $row['id_przynaleznosci'];
}
else {
$id_przynaleznosci = $row['id'];
}
}
$lista = array();
$query = "(select *, '1' as miejsce, random() as rand from muzea where id not in (select id from muzea where id_przynaleznosci = '{$id_przynaleznosci}' ) and id != '{$id}' and id != '{$id_przynaleznosci}' and pokaz = 't' and czynne = 't' and miasto in (select miasto from muzea where id = '{$id}') and id in (select id_muzeum from muzea_pliki))
UNION
(select *, '2' as miejsce, random() as rand from muzea where id not in (select id from muzea where id_przynaleznosci = '{$id_przynaleznosci}') and id != '{$id}' and id != '{$id_przynaleznosci}' and pokaz = 't' and czynne = 't' and id_powiatu in (select id_powiatu from muzea where id = '{$id}') and id in (select id_muzeum from muzea_pliki) and id not in (select id from muzea where miasto in (select miasto from muzea where id = '{$id}')))
UNION
(select *, '3' as miejsce, random() as rand from muzea where id not in (select id from muzea where id_przynaleznosci = '{$id_przynaleznosci}') and id != '{$id}' and id != '{$id_przynaleznosci}' and pokaz = 't' and czynne = 't' and id_wojewodztwa in (select id_wojewodztwa from muzea where id = '{$id}') and id in (select id_muzeum from muzea_pliki) and id not in (select id from muzea where miasto in (select miasto from muzea where id = '{$id}')) and id not in (select id from muzea where id_powiatu in (select id_powiatu from muzea where id = '{$id}')))
order by miejsce, rand limit 4";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$muzeum_ob = Muzeum::pobierz($this->db, $row['id']);
if (is_object($muzeum_ob)) {
$lista[] = $muzeum_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getWystawyOkolica()
function getWystawyOkolica($id) {
$lista = array();
$query = "(select *, '1' as miejsce, random() as rand from wystawy_dane_adresowe where id != '{$id}' and pokaz = 't' and miasto in (select miasto from wystawy_dane_adresowe where id = '{$id}') and id in (select id_wystawy from wystawy_pliki))
UNION
(select *, '2' as miejsce, random() as rand from wystawy_dane_adresowe where id != '{$id}' and pokaz = 't' and id_powiatu in (select id_powiatu from wystawy_dane_adresowe where id = '{$id}') and id in (select id_wystawy from wystawy_pliki) and id not in (select id from wystawy_dane_adresowe where miasto in (select miasto from wystawy_dane_adresowe where id = '{$id}')))
UNION
(select *, '3' as miejsce, random() as rand from wystawy_dane_adresowe where id != '{$id}' and pokaz = 't' and id_wojewodztwa in (select id_wojewodztwa from wystawy_dane_adresowe where id = '{$id}') and id in (select id_wystawy from wystawy_pliki) and id not in (select id from wystawy_dane_adresowe where miasto in (select miasto from wystawy_dane_adresowe where id = '{$id}')) and id not in (select id from wystawy_dane_adresowe where id_powiatu in (select id_powiatu from wystawy_dane_adresowe where id = '{$id}')))
order by miejsce, rand limit 4";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wystawa_ob = Wystawa::pobierz($this->db, $row['id']);
if (is_object($wystawa_ob)) {
$lista[] = $wystawa_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getObiektyTematyka()
function getObiektyTematyka($id) {
$lista = array();
$query = "select *, '1' as miejsce, random() as rand from muzea where pokaz = 't' and id != '{$id}' and id in (select id_muzeum from muzea_pliki) and id in (select id_muzeum from muzea_kategorie_obiektow where id_kategorii_obiektu in (select id_kategorii_obiektu from muzea_kategorie_obiektow where id_muzeum = '{$id}'))
order by miejsce, rand limit 4";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$muzeum_ob = Muzeum::pobierz($this->db, $row['id']);
if (is_object($muzeum_ob)) {
$lista[] = $muzeum_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getWystawyTematyka()
function getWystawyTematyka($id) {
$lista = array();
$query = "select *, '1' as miejsce, random() as rand from wystawy where pokaz = 't' and id != '{$id}' and id in (select id_wystawy from wystawy_pliki) and id in (select id_wystawy from wystawy_kategorie_obiektow where id_kategorii_obiektu in (select id_kategorii_obiektu from wystawy_kategorie_obiektow where id_wystawy = '{$id}'))
order by miejsce, rand limit 4";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wystawa_ob = Wystawa::pobierz($this->db, $row['id']);
if (is_object($wystawa_ob)) {
$lista[] = $wystawa_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getObiektyTypObiektu()
function getObiektyTypObiektu($id) {
$lista = array();
$id_obiektu = 1001;
$query = "select id_obiektu from muzea where id = '{$id}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
$id_obiektu = $row['id_obiektu'];
}
if ($id_obiektu == 1001 || $id_obiektu == 1002) {
$query = "select * from muzea where id != '{$id}' and pokaz = 't' and id in (select id_muzeum from muzea_pliki) order by random() limit 4";
}
else {
$query = "select *, '1' as miejsce, random() as rand from muzea where id != '{$id}' and pokaz = 't' and id in (select id_muzeum from muzea_pliki) and id in (select id_muzeum from muzea_kategorie_miejsc where id_kategorii_miejsca in (select id_kategorii_miejsca from muzea_kategorie_miejsc where id_muzeum = '{$id}'))
order by miejsce, rand limit 4";
}
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$muzeum_ob = Muzeum::pobierz($this->db, $row['id']);
if (is_object($muzeum_ob)) {
$lista[] = $muzeum_ob;
}
}
}
return $lista;
}
//}}}
//{{{ getAktywnySezon()
function getAktywnySezon($sezony) {
$data = date("m-d");
$numer = false;
foreach($sezony as $sezon) {
$miesiac_od = str_pad($sezon['miesiac_od'], 2, "0", STR_PAD_LEFT);
$dzien_od = str_pad($sezon['dzien_od'], 2, "0", STR_PAD_LEFT);
$miesiac_do = str_pad($sezon['miesiac_do'], 2, "0", STR_PAD_LEFT);
$dzien_do = str_pad($sezon['dzien_do'], 2, "0", STR_PAD_LEFT);
$od = "{$miesiac_od}-{$dzien_od}";
$do = "{$miesiac_do}-{$dzien_do}";
if ($od < $do && $data >= $od && $data <= $do) {
$numer = $sezon['numer'];
}
}
if ($numer === false) {
foreach($sezony as $sezon) {
$miesiac_od = str_pad($sezon['miesiac_od'], 2, "0", STR_PAD_LEFT);
$dzien_od = str_pad($sezon['dzien_od'], 2, "0", STR_PAD_LEFT);
$miesiac_do = str_pad($sezon['miesiac_do'], 2, "0", STR_PAD_LEFT);
$dzien_do = str_pad($sezon['dzien_do'], 2, "0", STR_PAD_LEFT);
$od = "{$miesiac_od}-{$dzien_od}";
$do = "{$miesiac_do}-{$dzien_do}";
if ($od >= $do) {
$numer = $sezon['numer'];
}
}
}
return $numer;
}
//}}}
//{{{ getAktywnySezonStatic()
static function getAktywnySezonStatic($sezony) {
$data = date("m-d");
$numer = false;
foreach($sezony as $sezon) {
$miesiac_od = str_pad($sezon['miesiac_od'], 2, "0", STR_PAD_LEFT);
$dzien_od = str_pad($sezon['dzien_od'], 2, "0", STR_PAD_LEFT);
$miesiac_do = str_pad($sezon['miesiac_do'], 2, "0", STR_PAD_LEFT);
$dzien_do = str_pad($sezon['dzien_do'], 2, "0", STR_PAD_LEFT);
$od = "{$miesiac_od}-{$dzien_od}";
$do = "{$miesiac_do}-{$dzien_do}";
if ($od < $do && $data >= $od && $data <= $do) {
$numer = $sezon['numer'];
}
}
if ($numer === false) {
foreach($sezony as $sezon) {
$miesiac_od = str_pad($sezon['miesiac_od'], 2, "0", STR_PAD_LEFT);
$dzien_od = str_pad($sezon['dzien_od'], 2, "0", STR_PAD_LEFT);
$miesiac_do = str_pad($sezon['miesiac_do'], 2, "0", STR_PAD_LEFT);
$dzien_do = str_pad($sezon['dzien_do'], 2, "0", STR_PAD_LEFT);
$od = "{$miesiac_od}-{$dzien_od}";
$do = "{$miesiac_do}-{$dzien_do}";
if ($od >= $do) {
$numer = $sezon['numer'];
}
}
}
return $numer;
}
//}}}
//{{{ isWojewodztwo()
function isWojewodztwo($nazwa) {
$nazwa = bez_polskich($nazwa);
$query = "select id from wojewodztwa where bez_polskich(nazwa) ilike '{$nazwa}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
return $row['id'];
}
return false;
}
//}}}
//{{{ isPowiat()
function isPowiat($nazwa) {
$nazwa = bez_polskich($nazwa);
$query = "select id from powiaty where bez_polskich(nazwa) ilike '{$nazwa}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
return $row['id'];
}
return false;
}
//}}}
//{{{ getIdWojewodztwaByMiasto()
function getIdWojewodztwaByMiasto($miasto) {
$query = "select id_wojewodztwa from miasta_view where miasto = '{$miasto}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
return $row['id_wojewodztwa'];
}
return false;
}
//}}}
//{{{ checkUzytkownikEmailWWW()
function checkUzytkownikEmailWWW($email) {
$query = "select * from uzytkownicy where email ilike '{$email}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
return false;
}
return true;
}
//}}}
//{{{ getIdUzytkownikEmailWWW()
function getIdUzytkownikEmailWWW($email) {
$query = "select * from uzytkownicy where email ilike '{$email}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
return $row['id'];
}
return false;
}
//}}}
//{{{ getTlumaczeniaJs()
function getTlumaczeniaJs() {
$lista = array();
$query = "select * from slowniki where id in (349,350,351,352,398,399,411,143,144,337,145)";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
if ($this->lang == 1) {
$lista[$row['nazwa_systemowa']] = $row['nazwa_pelna'];
}
else {
$lista[$row['nazwa_systemowa']] = $row['nazwa_pelna_en'];
}
}
}
return $lista;
}
//}}}
//{{{ getAtuty()
function getAtuty($obiekt, $wystawa) {
$lista = array();
if ($obiekt->rekord_db['dojazd_transportem_publicznym'] == 't') { $lista[] = array('img' => 'images/atuty_transport2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_dojazd'); }
if ($obiekt->rekord_db['parking_w_poblizu'] == 't') { $lista[] = array('img' => 'images/atuty_parking2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_parking'); }
// if ($obiekt->rekord_db['parking_platny'] == 't') { $lista[] = array('img' => 'images/atuty_parking_platny2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_parking_platny'); }
if ($obiekt->rekord_db['przystosowanie_dla_osob_z_niepelnosprawnosciami'] == 't') { $lista[] = array('img' => 'images/atuty_dostepnosc2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_przystosowanie'); }
if ($wystawa->rekord_db['dzieci_zajecia'] == 't') { $lista[] = array('img' => 'images/atuty_dzieci2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_dzieci'); }
if ($obiekt->rekord_db['audioprzewodnik_odplatnosc_nie'] == 't' || $obiekt->rekord_db['audioprzewodnik_odplatnosc_tak'] == 't' || $obiekt->rekord_db['audioprzewodnik_aplikacja_mobilna'] == 't') {
$lista[] = array('img' => 'images/atuty_audioprzewodnik2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_audioprzewodnik');
}
if ($obiekt->rekord_db['kawiarnia'] == 't') { $lista[] = array('img' => 'images/atuty_kawiarnia2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_kawiarnia'); }
if ($wystawa->rekord_db['warsztaty_w_trakcie'] == 't') { $lista[] = array('img' => 'images/atuty_warsztaty.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_warsztaty'); }
if ($obiekt->rekord_db['sklep_z_pamiatkami'] == 't') { $lista[] = array('img' => 'images/atuty_sklep2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_sklep'); }
if ($obiekt->rekord_db['restauracja'] == 't') { $lista[] = array('img' => 'images/atuty_restauracja2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_restauracja'); }
if ($wystawa->rekord_db['wystawa_plenerowa'] == 't') { $lista[] = array('img' => 'images/atuty_plener2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_plener'); }
if ($obiekt->rekord_db['organizacja_sesji_zdjeciowej'] == 't') { $lista[] = array('img' => 'images/atuty_sesja_zdjeciowa2.svg', 'tekst' => 'msg_www_obiekt_atuty_sesja_zdjeciowa'); }
if ($obiekt->rekord_db['ceremonia_slubna'] == 't') { $lista[] = array('img' => 'images/atuty_ceremonia_slubna2.svg', 'tekst' => 'msg_www_obiekt_atuty_ceremonia_slubna'); }
if ($obiekt->rekord_db['platforma_ebiletowa'] || (is_object($wystawa) && $wystawa->rekord_db['platforma_ebiletowa'])) {
$lista[] = array('img' => 'images/atuty_ebilet2.svg', 'tekst' => 'msg_www_obiekt_atuty_ebilet');
}
$parki_lista = array('106', '110', '111');
foreach($parki_lista as $id_kategorii_miejsca) {
if (isset($obiekt->id_kategorii_miejsca[$id_kategorii_miejsca])) { $lista[] = array('img' => 'images/atuty_park2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_park'); }
}
if ($obiekt->rekord_db['nocleg'] == 't') { $lista[] = array('img' => 'images/atuty_noclegi2.svg', 'tekst' => 'msg_www_obiekt_atuty_obiektu_nocleg'); }
return $lista;
}
//}}}
//{{{ pokazNaglowek()
function pokazNaglowek() {
$gdzie = $this->t('msg_www_tytuly_cala_polska');
if ($this->sesja['wyszukiwanie']['gdzie']) {
$gdzie = $this->sesja['wyszukiwanie']['gdzie'];
}
$naglowek = array();
if ($this->pokaz_obiekty) {
if (isset($this->strona_element)) {
$naglowek[] = ucfirst($this->strona_nazwa);
}
else {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_obiekty'));
}
}
if ($this->pokaz_wystawy && $this->wyszukiwanie_liczba_wystaw > 0) {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_wystawy'));
}
if ($this->pokaz_wydarzenia && $this->wyszukiwanie_liczba_wydarzen > 0) {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_wydarzenia'));
}
if ($this->pokaz_atrakcje && $this->wyszukiwanie_liczba_atrakcji > 0) {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_atrakcje'));
}
/*
$naglowek = array();
if ($this->pokaz_obiekty && $this->wyszukiwanie_liczba_obiektow > 0) {
if (isset($this->strona_element)) {
$naglowek[] = ucfirst($this->strona_nazwa);
}
else {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_obiekty'));
}
}
if ($this->pokaz_wystawy && $this->wyszukiwanie_liczba_wystaw > 0) {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_wystawy'));
}
if ($this->pokaz_wydarzenia && $this->wyszukiwanie_liczba_wydarzen > 0) {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_wydarzenia'));
}
if ($this->pokaz_atrakcje && $this->wyszukiwanie_liczba_atrakcji > 0) {
$naglowek[] = ucfirst($this->t('msg_www_wyszukiwarka_atrakcje'));
}
*/
$naglowek_s = implode(', ', $naglowek);
return $naglowek_s.': '.$gdzie;
}
//}}}
/* PANEL */
//{{{ getSwieta()
function getSwieta() {
$lista = array();
$query = "select * from dni_niestandardowe where id_muzeum = -1 order by dzien";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[] = $row['dzien'];
}
}
return implode("\n", $lista);
}
//}}}
//{{{ setSwieta()
function setSwieta($dane) {
$query = "delete from dni_niestandardowe where id_muzeum = -1";
$this->db->Execute($query);
$lista = array_map("trim", explode("\n", $dane));
foreach($lista as $data) {
$dane_dni = array('dzien' => $data, 'id_muzeum' => -1);
$wynik = $this->db->AutoExecute('dni_niestandardowe', $dane_dni, 'INSERT');
}
return true;
}
//}}}
//{{{ getKategorieObiektow()
function getKategorieObiektow() {
$lista = array();
$query = "select * from kategorie_obiektow order by kolejnosc";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategoria = KategoriaObiektu::pobierz($this->db, $row['id']);
$id = $kategoria->rekord_db['id'];
$nazwa_pl = $kategoria->rekord_db[1]['nazwa'];
$nazwa_en = $kategoria->rekord_db[2]['nazwa'];
$kategoria->rekord_db['id_obiektu1001'] == 't' ? $id_obiektu1001 = '1' : $id_obiektu1001 = '0';
$kategoria->rekord_db['id_obiektu1002'] == 't' ? $id_obiektu1002 = '1' : $id_obiektu1002 = '0';
$kategoria->rekord_db['id_obiektu1003'] == 't' ? $id_obiektu1003 = '1' : $id_obiektu1003 = '0';
$kategoria->rekord_db['id_obiektu1004'] == 't' ? $id_obiektu1004 = '1' : $id_obiektu1004 = '0';
$kategoria->rekord_db['id_obiektu1005'] == 't' ? $id_obiektu1005 = '1' : $id_obiektu1005 = '0';
if ($kategoria->rekord_db['idp']) {
$nazwa_pl = '-'.$nazwa_pl;
}
if ($kategoria->rekord_db['optgroup'] == 't') {
$nazwa_pl = '*'.$nazwa_pl;
}
$lista[] = "{$id}|{$nazwa_pl}|{$nazwa_en}|{$id_obiektu1001}|{$id_obiektu1002}|{$id_obiektu1003}|{$id_obiektu1004}|{$id_obiektu1005}";
}
}
return implode("\n", $lista);
}
//}}}
//{{{ setKategorieObiektow()
function setKategorieObiektow($kategorie_obiektow) {
$idp = false;
$query = "update kategorie_obiektow set aktualizacja = 'f'";
$this->db->Execute($query);
$kategorie_obiektow_a = array_map("trim", explode("\n", $kategorie_obiektow));
foreach($kategorie_obiektow_a as $kolejnosc=>$element) {
$element_a = array_map("trim", explode('|', $element));
$dane_elementu = array();
$dane_elementu['aktualizacja'] = 't';
$dane_elementu['kolejnosc'] = $kolejnosc;
if ($element_a[0]) {
$dane_elementu['id'] = $element_a[0];
}
if ($element_a[1]) {
$dane_elementu['optgroup'] = 'f';
if (substr($element_a[1], 0, 1) == '*') {
$dane_elementu['optgroup'] = 't';
$dane_elementu['nazwa'][1] = substr($element_a[1], 1);
}
elseif (substr($element_a[1], 0, 1) == '-') {
$dane_elementu['idp'] = $idp;
$dane_elementu['nazwa'][1] = substr($element_a[1], 1);
}
else {
$dane_elementu['idp'] = '';
$dane_elementu['nazwa'][1] = $element_a[1];
}
}
if ($element_a[2]) {
$dane_elementu['nazwa'][2] = $element_a[2];
}
if ($element_a[3] == '1') { $dane_elementu['id_obiektu1001'] = 't'; } else { $dane_elementu['id_obiektu1001'] = 'f'; }
if ($element_a[4] == '1') { $dane_elementu['id_obiektu1002'] = 't'; } else { $dane_elementu['id_obiektu1002'] = 'f'; }
if ($element_a[5] == '1') { $dane_elementu['id_obiektu1003'] = 't'; } else { $dane_elementu['id_obiektu1003'] = 'f'; }
if ($element_a[6] == '1') { $dane_elementu['id_obiektu1004'] = 't'; } else { $dane_elementu['id_obiektu1004'] = 'f'; }
if ($element_a[7] == '1') { $dane_elementu['id_obiektu1005'] = 't'; } else { $dane_elementu['id_obiektu1005'] = 'f'; }
if ($dane_elementu['id']) {
$kategoria = KategoriaObiektu::pobierz($this->db, $dane_elementu['id']);
$kategoria->zmien($dane_elementu);
}
else {
$kategoria = new KategoriaObiektu($this->db);
$dane_elementu['id'] = $kategoria->dodaj($dane_elementu);
}
if (!$dane_elementu['idp']) {
$idp = $dane_elementu['id'];
}
}
$query = "delete from kategorie_obiektow where aktualizacja = 'f'";
$this->db->Execute($query);
}
//}}}
//{{{ getKategorieMiejsc()
function getKategorieMiejsc() {
$lista = array();
$query = "select * from kategorie_miejsc order by kolejnosc";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategoria = KategoriaMiejsca::pobierz($this->db, $row['id']);
$id = $kategoria->rekord_db['id'];
$nazwa_pl = $kategoria->rekord_db[1]['nazwa'];
$nazwa_en = $kategoria->rekord_db[2]['nazwa'];
$kategoria->rekord_db['id_obiektu1001'] == 't' ? $id_obiektu1001 = '1' : $id_obiektu1001 = '0';
$kategoria->rekord_db['id_obiektu1002'] == 't' ? $id_obiektu1002 = '1' : $id_obiektu1002 = '0';
$kategoria->rekord_db['id_obiektu1003'] == 't' ? $id_obiektu1003 = '1' : $id_obiektu1003 = '0';
$kategoria->rekord_db['id_obiektu1004'] == 't' ? $id_obiektu1004 = '1' : $id_obiektu1004 = '0';
$kategoria->rekord_db['id_obiektu1005'] == 't' ? $id_obiektu1005 = '1' : $id_obiektu1005 = '0';
if ($kategoria->rekord_db['idp']) {
$nazwa_pl = '-'.$nazwa_pl;
}
if ($kategoria->rekord_db['optgroup'] == 't') {
$nazwa_pl = '*'.$nazwa_pl;
}
$lista[] = "{$id}|{$nazwa_pl}|{$nazwa_en}|{$id_obiektu1001}|{$id_obiektu1002}|{$id_obiektu1003}|{$id_obiektu1004}|{$id_obiektu1005}";
}
}
return implode("\n", $lista);
}
//}}}
//{{{ setKategorieMiejsc()
function setKategorieMiejsc($kategorie_obiektow) {
$idp = false;
$query = "update kategorie_miejsc set aktualizacja = 'f'";
$this->db->Execute($query);
$kategorie_obiektow_a = array_map("trim", explode("\n", $kategorie_obiektow));
foreach($kategorie_obiektow_a as $kolejnosc=>$element) {
$element_a = array_map("trim", explode('|', $element));
$dane_elementu = array();
$dane_elementu['aktualizacja'] = 't';
$dane_elementu['kolejnosc'] = $kolejnosc;
if ($element_a[0]) {
$dane_elementu['id'] = $element_a[0];
}
if ($element_a[1]) {
$dane_elementu['optgroup'] = 'f';
if (substr($element_a[1], 0, 1) == '*') {
$dane_elementu['optgroup'] = 't';
$dane_elementu['nazwa'][1] = substr($element_a[1], 1);
}
elseif (substr($element_a[1], 0, 1) == '-') {
$dane_elementu['idp'] = $idp;
$dane_elementu['nazwa'][1] = substr($element_a[1], 1);
}
else {
$dane_elementu['nazwa'][1] = $element_a[1];
}
}
if ($element_a[2]) {
$dane_elementu['nazwa'][2] = $element_a[2];
}
if ($element_a[3] == '1') { $dane_elementu['id_obiektu1001'] = 't'; } else { $dane_elementu['id_obiektu1001'] = 'f'; }
if ($element_a[4] == '1') { $dane_elementu['id_obiektu1002'] = 't'; } else { $dane_elementu['id_obiektu1002'] = 'f'; }
if ($element_a[5] == '1') { $dane_elementu['id_obiektu1003'] = 't'; } else { $dane_elementu['id_obiektu1003'] = 'f'; }
if ($element_a[6] == '1') { $dane_elementu['id_obiektu1004'] = 't'; } else { $dane_elementu['id_obiektu1004'] = 'f'; }
if ($element_a[7] == '1') { $dane_elementu['id_obiektu1005'] = 't'; } else { $dane_elementu['id_obiektu1005'] = 'f'; }
if ($dane_elementu['id']) {
$kategoria = KategoriaMiejsca::pobierz($this->db, $dane_elementu['id']);
$kategoria->zmien($dane_elementu);
}
else {
$kategoria = new KategoriaMiejsca($this->db);
$dane_elementu['id'] = $kategoria->dodaj($dane_elementu);
}
if (!$dane_elementu['idp']) {
$idp = $dane_elementu['id'];
}
}
$query = "delete from kategorie_miejsc where aktualizacja = 'f'";
$this->db->Execute($query);
}
//}}}
//{{{ getDniNiestandardowe()
function getDniNiestandardowe($id_wystawy = -1) {
$lista = array();
$query = "(select dzien from dni_niestandardowe)
UNION
(select dzien from wystawy_dni_niestandardowe where id_wystawy = '{$id_wystawy}' and dzien not in (select dzien from dni_niestandardowe)) order by dzien";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['dzien']] = $row['dzien'];
}
}
return $lista;
}
//}}}
//{{{ getDniNiestandardoweMuzea()
function getDniNiestandardoweMuzea($id_muzeum = -1) {
$lista = array();
$query = "(select dzien, date_part('dow', dzien) as dzien_tygodnia, '1' as typ from dni_niestandardowe where dzien >= now()::date)
UNION
(select dzien, date_part('dow', dzien) as dzien_tygodnia, '2' as typ from muzea_dni_niestandardowe where dzien >= now()::date and id_muzeum = '{$id_muzeum}' and dzien not in (select dzien from dni_niestandardowe)) order by dzien";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['dzien']] = $row;
}
}
return $lista;
}
//}}}
//{{{ getDniNiestandardoweWystawy()
function getDniNiestandardoweWystawy($id_wystawy = -1) {
$lista = array();
$query = "(select dzien, date_part('dow', dzien) as dzien_tygodnia, '1' as typ from dni_niestandardowe where dzien >= now()::date)
UNION
(select dzien, date_part('dow', dzien) as dzien_tygodnia, '2' as typ from wystawy_dni_niestandardowe where dzien >= now()::date and id_wystawy = '{$id_wystawy}' and dzien not in (select dzien from dni_niestandardowe))
order by dzien";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['dzien']] = $row;
}
}
return $lista;
}
//}}}
//{{{ getPlikiTabelaHash()
function getPlikiTabelaHash($dane) {
if ($dane['typ'] == 10) {
$query = "(select id, 2 as typ, kolejnosc, nazwa_pl, plik, rozmiar, nazwa_en, '/data/{$dane['tabela']}_tmp/'||hash||'/m/'||plik as plik_m from {$dane['tabela']}_pliki_tmp where hash = '{$dane['hash']}' and plik not ilike '%.jpg' and plik not ilike '%.png' and plik not ilike '%.jpeg' and plik not ilike '%.webp' and pokaz = 'f')
order by typ, id";
}
else {
$query = "(select id, 2 as typ, kolejnosc, nazwa_pl, plik, rozmiar, nazwa_en, '/data/{$dane['tabela']}_tmp/'||hash||'/m/'||plik as plik_m from {$dane['tabela']}_pliki_tmp where hash = '{$dane['hash']}' and (plik ilike '%.jpg' or plik ilike '%.png' or plik ilike '%.jpeg' or plik ilike '%.webp') and pokaz = 'f')
order by typ, id";
}
echo $query;
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[] = $row;
}
}
$query = "update {$dane['tabela']}_pliki_tmp set pokaz = 't' where hash = '{$dane['hash']}'";
$this->db->Execute($query);
return $lista;
}
//}}}
//{{{ usunPlikiTabelaHash()
function usunPlikiTabelaHash($dane) {
$query = "delete from {$dane['tabela']}_pliki_tmp where hash = '{$dane['hash']}' and id = '{$dane['id_zdjecia']}'";
$this->db->Execute($query);
}
//}}}
//{{{ getWystawyTematykaPanel()
function getWystawyTematykaPanel($id = null) {
$query = "select w.id, wl.tytul, wl.tresc, replace(ml.nazwa, '[obiekt główny]', '') as nazwa_muzeum, w.sprawdzono, to_char(w.sprawdzono_data, 'YYYY-MM-DD HH24:MI:SS') as sprawdzono_data,
(SELECT string_agg(DISTINCT ko.nazwa::text, '
'::text) from wystawy_kategorie_obiektow wko, kategorie_obiektow_view2 ko where wko.id_kategorii_obiektu = ko.id and wko.id_wystawy = w.id) as kategoria,
(SELECT string_agg(DISTINCT ko.nazwa::text, '
'::text) from muzea_kategorie_obiektow wko, kategorie_obiektow_view2 ko where wko.id_kategorii_obiektu = ko.id and wko.id_muzeum = w.id_muzeum) as kategoria_muzeum,
ml.id_wojewodztwa
from wystawy w
left outer join wystawy_lang wl on w.id = wl.id_wystawy and wl.id_lang = 1
left outer join muzea_przynaleznosc ml on w.id_muzeum = ml.id ";
if (isset($id)) {
$query .= " where w.id = '{$id}' ";
}
$query .= " order by ml.nazwa, wl.tytul";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategoria_a = array();
if ($row['kategoria']) {
$kategoria_a = explode(',', $row['kategoria']);
}
$row['kategoria_a'] = $kategoria_a;
$lista[] = $row;
}
}
return $lista;
}
//}}}
//{{{ zapiszWystawyTematykaPanel()
function zapiszWystawyTematykaPanel($lista) {
foreach($lista['id_tematyka_wystawy'] as $id_wystawy=>$rekord) {
$query = "delete from wystawy_kategorie_obiektow where id_wystawy = '{$id_wystawy}'";
$this->db->Execute($query);
if ($rekord) {
$muzea_a = explode(';', $rekord);
foreach($muzea_a as $id_rekordu) {
$dane_muzea = array('id_wystawy' => $id_wystawy, 'id_kategorii_obiektu' => $id_rekordu);
$wynik = $this->db->AutoExecute('wystawy_kategorie_obiektow', $dane_muzea, 'INSERT');
}
}
}
foreach($lista['sprawdzono'] as $id_wystawy=>$wartosc) {
$query = "update wystawy set sprawdzono = '{$wartosc}' where id = '{$id_wystawy}'";
$this->db->Execute($query);
}
return true;
}
//}}}
//{{{ getWydarzeniaWystawyPanel()
function getWydarzeniaWystawyPanel($id_muzeum) {
$lista = array();
$query = "select wl.id_wystawy as id, wl.tytul||' '||case when (w.id_typu_wystawy = 10) then '- wystawa stała' else '- wystawa czasowa '||'['||w.data_od||' - '||w.data_do||']' end as nazwa from wystawy_lang wl, wystawy w
where w.id = wl.id_wystawy and wl.id_lang=1 and wl.id_wystawy in (select id from wystawy where id_muzeum = '{$id_muzeum}') and w.data_do >= now()::date order by wl.tytul";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row['nazwa'];
}
}
$query = "select wl.id_wystawy as id, wl.tytul||' '||case when (w.id_typu_wystawy = 10) then '- wystawa stała' else '- wystawa czasowa '||'['||w.data_od||' - '||w.data_do||']' end as nazwa from wystawy_lang wl, wystawy w
where w.id = wl.id_wystawy and wl.id_lang=1 and wl.id_wystawy in (select id from wystawy where id_muzeum = '{$id_muzeum}') and w.id_typu_wystawy = 10 order by wl.tytul";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row['nazwa'];
}
}
return $lista;
}
//}}}
//{{{ getIdObiektuById()
function getIdObiektuById($id_muzeum, $zamien = true) {
$id_obiektu = "";
if (is_array($id_muzeum)) {
$lista_s = implode(',', $id_muzeum);
}
else {
$lista_s = $id_muzeum;
}
$query = "select id_obiektu from muzea where id in ({$lista_s}) ";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
$id_obiektu = $row['id_obiektu'];
}
if ($id_obiektu == '1002' && $zamien) {
return 1001;
}
return $id_obiektu;
}
//}}}
//{{{ getOcena()
function getOcena($id) {
$dane = array();
$query = "select * from oceny_lista_widok where id = '{$id}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
$dane = $row;
}
return $dane;
}
//}}}
//{{{ setOcena()
function setOcena($id, $dane) {
$wynik = $this->db->AutoExecute('uzytkownicy_oceny', $dane, 'UPDATE', "id = '{$id}'");
return true;
}
//}}}
//{{{ deleteOcena()
function deleteOcena($id) {
$query = "delete from uzytkownicy_oceny where id = '{$id}'";
$this->db->Execute($query);
}
//}}}
//{{{ isMenuAktywne()
function isMenuAktywne($lista) {
$lista_a = explode(',', $lista);
foreach($lista_a as $element) {
if (strpos($this->element, $element) === 0) {
return true;
}
}
return false;
}
//}}}
/* linki */
//{{{ setLinki()
function setLinki() {
$lista = $this->getLinkiMiejscWWW();
foreach($lista as $id_miejsca=>$miejsce) {
$linki[$id_miejsca] = prepareLink($miejsce['nazwa']);
$linki_uri[prepareLink($miejsce['nazwa'])] = array('element' => 'obiekty', 'id' => $id_miejsca, 'link' => prepareLink($miejsce['nazwa']), 'nazwa' => $miejsce['nazwa'], 'link1' => prepareLink($miejsce['link1']), 'link2' => prepareLink($miejsce['link2']));
$linki_info[$id_miejsca] = array('element' => 'obiekty', 'id' => $id_miejsca, 'link' => prepareLink($miejsce['link']), 'nazwa' => $miejsce['nazwa'], 'link1' => prepareLink($miejsce['link1']), 'link2' => prepareLink($miejsce['link2']));
}
$lista_miasta = $this->getLinkiMiastWWW();
foreach($lista_miasta as $id_miejsca=>$miejsce) {
$linki[$id_miejsca] = prepareLink($miejsce['nazwa']);
$linki_uri[prepareLink($miejsce['link'])] = array('element' => 'miasto', 'id' => $id_miejsca, 'link' => prepareLink($miejsce['link']), 'nazwa' => $miejsce['nazwa']);
$linki_info[$id_miejsca] = array('element' => 'miasto', 'id' => $id_miejsca, 'link' => prepareLink($miejsce['link']), 'nazwa' => $miejsce['nazwa']);
}
$lista_miasta = $this->getLinkiMiastWWW();
foreach($lista_miasta as $id_miejsca=>$miejsce) {
$link = mb_strtolower(str_replace(' ', '-', $miejsce['nazwa']));
$linki[$id_miejsca] = $link;
$linki_uri[$link] = array('element' => 'miasto', 'id' => $id_miejsca, 'link' => $link, 'nazwa' => $miejsce['nazwa']);
$linki_info[$id_miejsca] = array('element' => 'miasto', 'id' => $id_miejsca, 'link' => $link, 'nazwa' => $miejsce['nazwa']);
}
$this->linki = $linki;
$this->linki_uri = $linki_uri;
$this->linki_info = $linki_info;
$this->linki_tlumaczenia = array(
'obiekt' => 'object',
'wystawa' => 'exhibition',
'wydarzenie' => 'event',
'logowanie' => 'login',
'rejestracja' => 'registration',
'przypomnienie_hasla' => 'password_reminder',
'strona' => 'site',
);
return true;
}
//}}}
//{{{ getLinkUri()
function getLinkUri($link) {
if ($this->linki_uri[$link]) {
return $this->linki_uri[$link];
}
return false;
}
//}}}
//{{{ getLinkUriById()
function getLinkUriById($id_miejsca) {
return $this->linki_info[$id_miejsca];
}
//}}}
//{{{ getLink()
function getLink($id) {
if ($this->linki[$id]) {
return $this->linki[$id];
}
return "strona,{$id}.html";
}
//}}}
/* pola */
//{{{ setPola()
function setPola() {
$pola = array();
$query = "select s.* from pola s ";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$pola[$row['tabela']][$row['pole']] = $row;
}
}
$this->pola = $pola;
return true;
}
//}}}
//{{{ getPole()
function getPole($tabela, $pole) {
if (isset($this->pola[$tabela][$pole])) {
return $this->pola[$tabela][$pole];
}
return false;
}
//}}}
/* slowniki */
//{{{ t()
function t($nazwa) {
if (isset($this->slowniki_tlumaczenia[$nazwa][$this->lang])) {
$wartosc = $this->slowniki_tlumaczenia[$nazwa][$this->lang];
return $wartosc;
}
return '';
}
//}}}
//{{{ t1()
function t1($nazwa) {
if (isset($this->slowniki_tlumaczenia[$nazwa][1])) {
$wartosc = $this->slowniki_tlumaczenia[$nazwa][1];
return $wartosc;
}
return '';
}
//}}}
//{{{ t2()
function t2($nazwa) {
if (isset($this->slowniki_tlumaczenia[$nazwa][2])) {
$wartosc = $this->slowniki_tlumaczenia[$nazwa][2];
return $wartosc;
}
return '';
}
//}}}
//{{{ tMiesiac()
function tMiesiac($numer) {
$nazwa = 'msg_miesiac'.$numer;
if (isset($this->slowniki_tlumaczenia[$nazwa][$this->lang])) {
$wartosc = $this->slowniki_tlumaczenia[$nazwa][$this->lang];
return $wartosc;
}
return '';
}
//}}}
//{{{ setSlowniki()
function setSlowniki() {
$slowniki_tlumaczenia = array();
$slowniki_nazwa = array();
$slowniki_id = array();
$query = "select s.* from slowniki s ";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$slowniki_tlumaczenia[$row['nazwa_systemowa']][1] = $row['nazwa_pelna'];
$slowniki_tlumaczenia[$row['nazwa_systemowa']][2] = $row['nazwa_pelna_en'];
$slowniki_nazwa[$row['nazwa_systemowa']][$row['id']] = $row['nazwa_pelna'];
$slowniki_id[$row['id']] = $row['nazwa_pelna'];
}
}
$this->slowniki_tlumaczenia = $slowniki_tlumaczenia;
$this->slowniki_nazwa = $slowniki_nazwa;
$this->slowniki_id = $slowniki_id;
$wojewodztwa = array();
$query = "select id, INITCAP(nazwa) as nazwa from wojewodztwa";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$wojewodztwa[$row['id']] = $row['nazwa'];
}
}
$this->wojewodztwa = $wojewodztwa;
$powiaty = array();
$powiaty_bez_miast = array();
$query = "select id, INITCAP(nazwa) as nazwa, nazwa as nazwa_oryginalna, miasto_na_prawach_powiatu from powiaty";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$powiaty[$row['id']] = $row['nazwa'];
if ($row['miasto_na_prawach_powiatu'] == 'f') {
$powiaty_bez_miast[$row['id']] = $row['nazwa_oryginalna'];
}
}
}
$this->powiaty = $powiaty;
$this->powiaty_bez_miast = $powiaty_bez_miast;
$kategorie_obiektow = array();
$query = "select * from kategorie_obiektow_lang where id_lang = '{$this->lang}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategorie_obiektow[$row['id']] = $row['nazwa'];
}
}
$this->kategorie_obiektow = $kategorie_obiektow;
$kategorie_miejsc = array();
$query = "select * from kategorie_miejsc_lang where id_lang = '{$this->lang}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$kategorie_miejsc[$row['id_kategorii_miejsca']] = $row['nazwa'];
}
}
$this->kategorie_miejsc = $kategorie_miejsc;
return true;
}
//}}}
//{{{ getSlowniki()
function getSlowniki() {
$slowniki = array();
$query = "select * from slowniki order by lower(nazwa_pelna)";
$result = $this->db->Execute($query);
$lista = $result->GetRows();
foreach($lista as $element) {
$slowniki[$element['nazwa_systemowa']][$element['id']] = $element['nazwa_pelna'];
}
return $slowniki;
}
//}}}
//{{{ getSlownikNazwa()
function getSlownikNazwa($nazwa) {
if (count($this->slowniki_nazwa[$nazwa]) == 1) {
$wartosc = $this->slowniki_nazwa[$nazwa];
$keys = array_keys($wartosc);
return $this->slowniki_nazwa[$nazwa][$keys[0]];
}
return '';
}
//}}}
//{{{ getSlownikId()
function getSlownikId($nazwa, $id) {
if (isset($this->slowniki_nazwa[$nazwa][$id])) {
return $this->slowniki_nazwa[$nazwa][$id];
}
return '';
}
//}}}
//{{{ getSlownikIds()
function getSlownikIds($nazwa, $ids) {
$lista = array();
foreach($ids as $id) {
if (isset($this->slowniki_nazwa[$nazwa][$id])) {
$lista[] = $this->slowniki_nazwa[$nazwa][$id];
}
}
return implode(', ', $lista);
}
//}}}
//{{{ getWojewodztwoId()
function getWojewodztwoId($id) {
if (isset($this->wojewodztwa[$id])) {
return $this->wojewodztwa[$id];
}
return '';
}
//}}}
//{{{ getPowiatId()
function getPowiatId($id) {
if (isset($this->powiaty[$id])) {
return $this->powiaty[$id];
}
return '';
}
//}}}
//{{{ getPowiatBezMiastId()
function getPowiatBezMiastId($id) {
if (isset($this->powiaty_bez_miast[$id])) {
return $this->powiaty_bez_miast[$id];
}
return '';
}
//}}}
//{{{ getKategoriaMiejscaIds()
function getKategoriaMiejscaIds($ids) {
$nazwy = array();
foreach($ids as $id) {
if (isset($this->kategorie_miejsc[$id]) && $this->kategorie_miejsc[$id]) {
$nazwy[] = $this->kategorie_miejsc[$id];
}
}
return implode(', ', $nazwy);
}
//}}}
/* tabele */
//{{{ getSlownikiTabela()
function getSlownikiTabela($tabela, $id, $nazwa, $order, $warunki = '') {
$lista = array();
$query = "select {$id} as id, {$nazwa} as nazwa from {$tabela} where 1=1 ";
if ($warunki) {
$query .= " and {$warunki} ";
}
$query .= "order by {$order}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row['nazwa'];
}
}
return $lista;
}
//}}}
//{{{ getSlownikiTabelaOpiekun()
function getSlownikiTabelaOpiekun($tabela, $id, $nazwa, $order, $warunki = '') {
$lista = array();
$query = "select {$id} as id, {$nazwa} as nazwa from {$tabela} where 1=1 ";
if ($warunki) {
$query .= " and {$warunki} ";
}
$query .= " and (id in ({$this->autoryzacja->rekord_db['id_muzeum_s']}) or id_przynaleznosci in ({$this->autoryzacja->rekord_db['id_muzeum_s']}))";
$query .= "order by {$order}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row['nazwa'];
}
}
return $lista;
}
//}}}
//{{{ getSlownikiTabelaOpiekunNoc()
function getSlownikiTabelaOpiekunNoc($tabela, $id, $nazwa, $order, $warunki = '') {
$lista = array();
$query = "select {$id} as id, {$nazwa} as nazwa from {$tabela} where 1=1 ";
if ($warunki) {
$query .= " and {$warunki} ";
}
$query .= " and (id in ({$this->autoryzacja->rekord_db['id_muzeum_s']}) or id_przynaleznosci in ({$this->autoryzacja->rekord_db['id_muzeum_s']}))";
$query .= "order by {$order}";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
for($i=0; $i<$result->RecordCount(); $i++) {
$row = $result->FetchRow();
$lista[$row['id']] = $row['nazwa'];
}
}
$lista[-1] = 'Inna lokalizacja';
return $lista;
}
//}}}
//{{{ getTabelaDt()
function getTabelaDt($tabela, $sort, $warunek = '') {
$query = "select * from {$tabela} where 1=1 ";
if ($warunek) {
$query .= "and {$warunek} ";
}
$query .= "order by {$sort}";
$result = $this->db->Execute($query);
$lista = $result->GetRows();
return $lista;
}
//}}}
//{{{ getTabelaDtId()
function getTabelaDtId($tabela, $id) {
$row = array();
$query = "select * from {$tabela} where id = '{$id}'";
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
}
return $row;
}
//}}}
//{{{ getTabelaDtWarunek()
function getTabelaDtWarunek($tabela, $warunek) {
$row = array();
$query = "select * from {$tabela} where 1=1 ";
if ($warunek) {
$query .= "and {$warunek} ";
}
$result = $this->db->Execute($query);
if ($result && $result->RecordCount() > 0) {
$row = $result->FetchRow();
}
return $row;
}
//}}}
/* common */
//{{{ pobierzPlik()
function pobierzPlik($plik) {
$zapisz_jako = basename($plik);
$rozmiar_pliku = filesize($plik);
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename={$zapisz_jako}");
header("Content-Transfer-Encoding: Binary");
header("Content-length: {$rozmiar_pliku}");
readfile($plik);
}
//}}}
//{{{ pokazTytulFormularza()
function pokazTytulFormularza($lista, $id, $nazwa = '') {
$nazwa_tabeli_a = explode('>', $this->config['title'][$lista]);
unset($nazwa_tabeli_a[count($nazwa_tabeli_a)-1]);
if ($nazwa) {
$nazwa_tabeli_a[] = $nazwa;
}
elseif (isset($id) && $id) {
$nazwa_tabeli_a[] = 'edycja';
}
else {
$nazwa_tabeli_a[] = 'dodaj';
}
return implode(' > ', $nazwa_tabeli_a);
}
//}}}
//{{{ sitemap()
function sitemap() {
}
//}}}
/* historia */
//{{{ setHistoria()
function setHistoria() {
if (isset($_SESSION[CFG_SESSION_NAME]['history']) && count($_SESSION[CFG_SESSION_NAME]['history']) > 0) {
if ($_SESSION[CFG_SESSION_NAME]['history'][count($_SESSION[CFG_SESSION_NAME]['history'])-1] != $_SERVER['REQUEST_URI']) {
$_SESSION[CFG_SESSION_NAME]['history'][] = $_SERVER['REQUEST_URI'];
}
}
else {
$_SESSION[CFG_SESSION_NAME]['history'][] = $_SERVER['REQUEST_URI'];
}
}
//}}}
//{{{ getHistoria()
function getHistoria() {
if (isset($_SESSION[CFG_SESSION_NAME]['history'])) {
$historia = $_SESSION[CFG_SESSION_NAME]['history'];
if (count($historia) >= 2) {
$ostatni = array_pop($historia);
$_SESSION[CFG_SESSION_NAME]['history'] = $historia;
$przedostatni = array_pop($historia);
return $przedostatni;
}
}
return '/';
}
//}}}
//{{{ setHistoria2()
function setHistoria2() {
$_SESSION[CFG_SESSION_NAME]['history2'] = $_SERVER['REQUEST_URI'];
}
//}}}
//{{{ getHistoria2()
function getHistoria2() {
return $_SESSION[CFG_SESSION_NAME]['history2'];
}
//}}}
//{{{ setTheme()
function setTheme($theme) {
$_SESSION[CFG_SESSION_NAME]['theme'] = $theme;
}
//}}}
//{{{ getTheme()
function getTheme() {
return $_SESSION[CFG_SESSION_NAME]['theme'];
}
//}}}
}
?>